Heap frame "stack holders" are raw scm_vm / scm_vm_cont pointers
* libguile/frames.h (struct scm_frame): stack_holder is a void*. * libguile/frames.c (scm_i_frame_stack_base, scm_i_frame_offset): Expect stack_holder to be the raw struct scm_vm or scm_vm_cont. * libguile/continuations.c (scm_i_continuation_to_frame): * libguile/stacks.c (scm_make_stack) * libguile/vm.c (vm_dispatch_hook): Adapt creators.
This commit is contained in:
parent
050a40db5b
commit
5515edc5f2
5 changed files with 29 additions and 16 deletions
|
|
@ -202,7 +202,7 @@ vm_dispatch_hook (SCM vm, int hook_num, SCM *argv, int n)
|
|||
while the stack frame represented by the frame object is visible, so it
|
||||
seems reasonable to limit the lifetime of frame objects. */
|
||||
|
||||
c_frame.stack_holder = vm;
|
||||
c_frame.stack_holder = vp;
|
||||
c_frame.fp_offset = vp->fp - vp->stack_base;
|
||||
c_frame.sp_offset = vp->sp - vp->stack_base;
|
||||
c_frame.ip = vp->ip;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue