diff options
author | Andy Wingo <wingo@pobox.com> | 2018-06-26 16:19:16 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-06-26 16:23:02 +0200 |
commit | e7778c62aa35ae10743cb4680df0bb3440163e26 (patch) | |
tree | a473ad138c7e2715ee493775b1379a6a9d8c9dc2 /libguile/vm.h | |
parent | 03a9b7147965831b84506a9315bae215d4775dc3 (diff) | |
download | guile-e7778c62aa35ae10743cb4680df0bb3440163e26.tar.gz |
abort-to-prompt uses an intrinsic
* libguile/control.h:
* libguile/control.c (scm_i_make_composable_continuation): Rename from
make_partial_continuation and expose internally.
(scm_abort_to_prompt_star): Adapt to scm_i_vm_abort name change.
* libguile/intrinsics.h (SCM_FOR_ALL_VM_INTRINSICS): Define
abort_to_prompt intrinsic.
* libguile/throw.c (abort_to_prompt): Adapt to scm_i_vm_abort name
change.
* libguile/vm-engine.c (abort): Use abort_to_prompt intrinsic.
* libguile/vm.c (capture_delimited_continuation): Move here from
control.c where it was named reify_partial_continuation.
(scm_i_vm_abort): Move from control.c where it was named
scm_c_abort (and only exposed internally).
(abort_to_prompt): New intrinsic, replacing vm_abort.
* libguile/vm.h: Add setjmp include and scm_i_vm_abort decl.
Diffstat (limited to 'libguile/vm.h')
-rw-r--r-- | libguile/vm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libguile/vm.h b/libguile/vm.h index 9b97a6aa9..7d4f34294 100644 --- a/libguile/vm.h +++ b/libguile/vm.h @@ -20,6 +20,8 @@ #ifndef _SCM_VM_H_ #define _SCM_VM_H_ +#include <setjmp.h> + #include <libguile/gc.h> #include <libguile/programs.h> @@ -120,6 +122,8 @@ SCM_INTERNAL SCM scm_i_vm_capture_stack (union scm_vm_stack_element *stack_top, uint32_t *ra, scm_t_dynstack *dynstack, uint32_t flags); +SCM_INTERNAL void scm_i_vm_abort (struct scm_vm *vp, SCM tag, size_t n, SCM *argv, + jmp_buf *registers) SCM_NORETURN; SCM_INTERNAL int scm_i_vm_cont_to_frame (SCM cont, struct scm_frame *frame); SCM_INTERNAL void scm_i_vm_cont_print (SCM x, SCM port, scm_print_state *pstate); |