mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-01 07:20:20 +02:00
Vm creates values with scm_allocate_tagged
* libguile/vm-engine.c (halt): Make values with scm_allocate_tagged.
This commit is contained in:
parent
20fcb8ac12
commit
a5f9d0da6a
1 changed files with 5 additions and 2 deletions
|
@ -324,9 +324,12 @@ VM_NAME (scm_thread *thread)
|
|||
uint32_t n;
|
||||
SYNC_IP ();
|
||||
VM_ASSERT (nvals <= (UINTPTR_MAX >> 8), abort ());
|
||||
ret = scm_words ((nvals << 8) | scm_tc7_values, nvals + 1);
|
||||
struct scm_values *vals =
|
||||
scm_allocate_tagged (thread, sizeof (*vals) + nvals * sizeof (SCM));
|
||||
vals->tag_and_count = (nvals << 8) | scm_tc7_values;
|
||||
for (n = 0; n < nvals; n++)
|
||||
SCM_SET_CELL_OBJECT (ret, n+1, FP_REF (first_value + n));
|
||||
vals->values[n] = FP_REF (first_value + n);
|
||||
ret = scm_from_values (vals);
|
||||
}
|
||||
|
||||
fp = VP->fp;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue