1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-14 15:40:19 +02:00

One more SCM vm user: continuations.

* libguile/continuations.c:
* libguile/continuations.h (struct scm_t_contregs): Rename SCM vm member
  to struct scm_vm *vp.
  (scm_i_make_continuation): Take vp instead of vm.
  (scm_i_contregs_vp): Rename from scm_i_contregs_vm, return vp.

* libguile/vm-engine.c (continuation-call, call/cc): Fix remaining SCM
  vm user.

* libguile/vm.c (vm_return_to_continuation): Adapt prototype.
This commit is contained in:
Andy Wingo 2013-11-21 17:50:33 +01:00
parent b44f5451f8
commit 796e54a74c
4 changed files with 14 additions and 14 deletions

View file

@ -894,7 +894,7 @@ VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
SYNC_IP ();
scm_i_check_continuation (contregs);
vm_return_to_continuation (scm_i_contregs_vm (contregs),
vm_return_to_continuation (scm_i_contregs_vp (contregs),
scm_i_contregs_vm_cont (contregs),
FRAME_LOCALS_COUNT_FROM (1),
LOCAL_ADDRESS (1));
@ -1003,7 +1003,7 @@ VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
copying out to the heap; and likewise, the setjmp(&registers)
code already has the non-local return handler. But oh
well! */
cont = scm_i_make_continuation (&first, vm, vm_cont);
cont = scm_i_make_continuation (&first, vp, vm_cont);
if (first)
{