mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Identify boot continuations by code, not closure
* libguile/vm.h: * libguile/vm.c (scm_i_vm_is_boot_continuation_code): New internal procedure. * libguile/stacks.c (scm_make_stack): * libguile/frames.c (scm_c_frame_previous): Use new helper to identify boot frames.
This commit is contained in:
parent
d729a0dc75
commit
02fc5a772b
4 changed files with 10 additions and 7 deletions
|
@ -388,11 +388,8 @@ scm_c_frame_previous (enum scm_vm_frame_kind kind, struct scm_frame *frame)
|
|||
frame->sp_offset = stack_top - new_sp;
|
||||
frame->ip = SCM_FRAME_RETURN_ADDRESS (this_fp);
|
||||
|
||||
{
|
||||
SCM proc = scm_c_frame_closure (kind, frame);
|
||||
if (SCM_PROGRAM_P (proc) && SCM_PROGRAM_IS_BOOT (proc))
|
||||
goto again;
|
||||
}
|
||||
if (scm_i_vm_is_boot_continuation_code (frame->ip))
|
||||
goto again;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue