summaryrefslogtreecommitdiff
path: root/libguile/continuations.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-11-21 17:50:33 +0100
committerAndy Wingo <wingo@pobox.com>2013-11-21 17:50:33 +0100
commit796e54a74ce30a22d4a49aa9f63001c572bc2481 (patch)
treeb239b9a90bf7bc3d713dd2a605acc4723fa37f7a /libguile/continuations.h
parentb44f5451f89f33d85e1601de72317460614c4193 (diff)
downloadguile-796e54a74ce30a22d4a49aa9f63001c572bc2481.tar.gz
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.
Diffstat (limited to 'libguile/continuations.h')
-rw-r--r--libguile/continuations.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/libguile/continuations.h b/libguile/continuations.h
index 868a2560b..7d5e0dbc5 100644
--- a/libguile/continuations.h
+++ b/libguile/continuations.h
@@ -51,7 +51,7 @@ typedef struct
#endif /* __ia64__ */
size_t num_stack_items; /* size of the saved stack. */
SCM root; /* continuation root identifier. */
- SCM vm; /* vm */
+ struct scm_vm *vp; /* vm */
SCM vm_cont; /* vm's stack and regs */
/* The offset from the live stack location to this copy. This is
@@ -70,12 +70,14 @@ typedef struct
-SCM_INTERNAL SCM scm_i_make_continuation (int *first, SCM vm, SCM vm_cont);
+SCM_INTERNAL SCM scm_i_make_continuation (int *first,
+ struct scm_vm *vp,
+ SCM vm_cont);
SCM_INTERNAL void scm_i_check_continuation (SCM cont);
SCM_INTERNAL void scm_i_reinstate_continuation (SCM cont);
SCM_INTERNAL SCM scm_i_continuation_to_frame (SCM cont);
-SCM_INTERNAL SCM scm_i_contregs_vm (SCM contregs);
+SCM_INTERNAL struct scm_vm* scm_i_contregs_vp (SCM contregs);
SCM_INTERNAL SCM scm_i_contregs_vm_cont (SCM contregs);
SCM_API void *scm_c_with_continuation_barrier (void *(*func)(void*), void *);