summaryrefslogtreecommitdiff
path: root/libguile/vm.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-09-15 10:41:35 +0200
committerAndy Wingo <wingo@pobox.com>2018-09-15 10:41:35 +0200
commit883bdc74530f1e602488f69f68cb8aa31199f951 (patch)
tree3c88f9a747ba7b10cb026657e3149890f153f1a6 /libguile/vm.h
parent4dba01501c8dd305d78c053830fcf1fe064814a6 (diff)
downloadguile-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.h1
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);