summaryrefslogtreecommitdiff
path: root/libguile/vm.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-06-27 18:21:04 +0200
committerAndy Wingo <wingo@pobox.com>2018-06-27 18:21:04 +0200
commit18431e6e63243eebefa3e77684d7b75e69c0fcb5 (patch)
tree9d96e3884db7276af43bdf72fcf515473db824f5 /libguile/vm.h
parentfd4eb1475106c4b8140634955e336a012787e28a (diff)
downloadguile-18431e6e63243eebefa3e77684d7b75e69c0fcb5.tar.gz
Refactor handling of active VM registers
* libguile/threads.h (scm_thread): Remove unused jmp_buf regs member. * libguile/vm.h (struct scm_vm): Rename resumable_prompt_cookie to just "registers"; we know it's a jmp_buf pointer. * libguile/vm.c (scm_call_n): * libguile/throw.c (catch): * libguile/eval.c (eval): * libguile/control.c (scm_suspendable_continuation_p): Adapt to cookie renaming.
Diffstat (limited to 'libguile/vm.h')
-rw-r--r--libguile/vm.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libguile/vm.h b/libguile/vm.h
index cf777a6ca..a5cdacbf0 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>
@@ -56,7 +58,7 @@ struct scm_vm {
union scm_vm_stack_element *stack_top; /* highest address in allocated stack */
SCM overflow_handler_stack; /* alist of max-stack-size -> thunk */
SCM hooks[SCM_VM_NUM_HOOKS]; /* hooks */
- const void *resumable_prompt_cookie; /* opaque cookie */
+ jmp_buf *registers; /* registers captured at latest vm entry */
int engine; /* which vm engine we're using */
};