diff options
author | Andy Wingo <wingo@pobox.com> | 2018-06-27 18:21:04 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-06-27 18:21:04 +0200 |
commit | 18431e6e63243eebefa3e77684d7b75e69c0fcb5 (patch) | |
tree | 9d96e3884db7276af43bdf72fcf515473db824f5 /libguile/eval.c | |
parent | fd4eb1475106c4b8140634955e336a012787e28a (diff) | |
download | guile-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/eval.c')
-rw-r--r-- | libguile/eval.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/eval.c b/libguile/eval.c index 242759b27..589a297d8 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -439,7 +439,7 @@ eval (SCM x, SCM env) scm_thread *t; SCM k, handler, res; jmp_buf registers; - const void *prev_cookie; + jmp_buf *prev_registers; ptrdiff_t saved_stack_depth; k = EVAL1 (CAR (mx), env); @@ -457,11 +457,11 @@ eval (SCM x, SCM env) t->vm.ip, ®isters); - prev_cookie = t->vm.resumable_prompt_cookie; + prev_registers = t->vm.registers; if (setjmp (registers)) { /* The prompt exited nonlocally. */ - t->vm.resumable_prompt_cookie = prev_cookie; + t->vm.registers = prev_registers; scm_gc_after_nonlocal_exit (); proc = handler; args = scm_i_prompt_pop_abort_args_x (&t->vm, saved_stack_depth); |