mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-03 08:10:31 +02:00
Fix creation of VM frames
Fix bug introduced in aa73d31de
.
* libguile/frames.c (scm_c_make_frame): GC-malloc the scm_vm_frame, not
the scm_frame.
This commit is contained in:
parent
2c186f835b
commit
0d1171afe9
1 changed files with 8 additions and 7 deletions
|
@ -46,13 +46,14 @@
|
|||
SCM
|
||||
scm_c_make_frame (enum scm_vm_frame_kind kind, const struct scm_frame *frame)
|
||||
{
|
||||
struct scm_frame *p = scm_gc_malloc (sizeof (struct scm_frame),
|
||||
"vmframe");
|
||||
p->stack_holder = frame->stack_holder;
|
||||
p->fp_offset = frame->fp_offset;
|
||||
p->sp_offset = frame->sp_offset;
|
||||
p->ip = frame->ip;
|
||||
return scm_cell (scm_tc7_frame | (kind << 8), (scm_t_bits)p);
|
||||
struct scm_vm_frame *p = scm_gc_malloc (sizeof (struct scm_vm_frame),
|
||||
"vmframe");
|
||||
p->tag_and_flags = scm_tc7_frame | (kind << 8);
|
||||
p->frame.stack_holder = frame->stack_holder;
|
||||
p->frame.fp_offset = frame->fp_offset;
|
||||
p->frame.sp_offset = frame->sp_offset;
|
||||
p->frame.ip = frame->ip;
|
||||
return SCM_PACK_POINTER (p);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue