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/vm.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/vm.c')
-rw-r--r-- | libguile/vm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/vm.c b/libguile/vm.c index 3a603e4b9..442bd72c3 100644 --- a/libguile/vm.c +++ b/libguile/vm.c @@ -1411,7 +1411,7 @@ scm_call_n (SCM proc, SCM *argv, size_t nargs) { jmp_buf registers; int resume; - const void *prev_cookie = vp->resumable_prompt_cookie; + jmp_buf *prev_registers = thread->vm.registers; SCM ret; resume = setjmp (registers); @@ -1422,9 +1422,9 @@ scm_call_n (SCM proc, SCM *argv, size_t nargs) vm_dispatch_abort_hook (vp); } - vp->resumable_prompt_cookie = ®isters; + thread->vm.registers = ®isters; ret = vm_engines[vp->engine](thread, ®isters, resume); - vp->resumable_prompt_cookie = prev_cookie; + thread->vm.registers = prev_registers; return ret; } |