mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 07:30:32 +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
|
@ -361,8 +361,7 @@ SCM_DEFINE (scm_make_stack, "make-stack", 1, 0, 1,
|
|||
|
||||
/* Skip initial boot frame, if any. This is possible if the frame
|
||||
originates from a captured continuation. */
|
||||
if (SCM_PROGRAM_P (scm_c_frame_closure (kind, &frame))
|
||||
&& SCM_PROGRAM_IS_BOOT (scm_c_frame_closure (kind, &frame))
|
||||
if (scm_i_vm_is_boot_continuation_code (frame.ip)
|
||||
&& !scm_c_frame_previous (kind, &frame))
|
||||
return SCM_BOOL_F;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue