diff options
author | Andy Wingo <wingo@pobox.com> | 2018-09-15 10:41:35 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-09-15 10:41:35 +0200 |
commit | 883bdc74530f1e602488f69f68cb8aa31199f951 (patch) | |
tree | 3c88f9a747ba7b10cb026657e3149890f153f1a6 /libguile/vm.h | |
parent | 4dba01501c8dd305d78c053830fcf1fe064814a6 (diff) | |
download | guile-883bdc74530f1e602488f69f68cb8aa31199f951.tar.gz |
Fix emergency aborts to not expand the stack
* libguile/vm.c (scm_i_vm_emergency_abort): New helper: an abort that
doesn't allocate, not even stack.
* libguile/throw.c (abort_to_prompt): Use scm_i_vm_emergency_abort.
* libguile/vm.h: Declare helper.
Diffstat (limited to 'libguile/vm.h')
-rw-r--r-- | libguile/vm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/vm.h b/libguile/vm.h index 5f1c63844..d227f2652 100644 --- a/libguile/vm.h +++ b/libguile/vm.h @@ -123,6 +123,7 @@ SCM_API SCM scm_load_compiled_with_vm (SCM file); SCM_INTERNAL SCM scm_i_call_with_current_continuation (SCM proc); SCM_INTERNAL SCM scm_i_capture_current_stack (void); SCM_INTERNAL void scm_i_vm_abort (SCM *tag_and_argv, size_t n) SCM_NORETURN; +SCM_INTERNAL void scm_i_vm_emergency_abort (SCM *tag_and_argv, size_t n) 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); |