mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-16 16:50:21 +02:00
Resumable partial continuations in the RTL VM
* libguile/vm-engine.c (receive-values): Bugfix for the case where we want an exact number of values. (abort): Advance the IP before capturing. The captured SP is fp - 1, not fp. * libguile/vm.c (vm_reinstate_partial_continuation): Don't push on a number-of-values marker.
This commit is contained in:
parent
486013d67c
commit
186b56c4dc
2 changed files with 9 additions and 2 deletions
|
@ -350,8 +350,11 @@ vm_reinstate_partial_continuation (SCM vm, SCM cont, size_t n, SCM *argv,
|
|||
vp->sp++;
|
||||
*vp->sp = argv_copy[i];
|
||||
}
|
||||
#if 0
|
||||
/* The number-of-values marker, only used by the stack VM. */
|
||||
vp->sp++;
|
||||
*vp->sp = scm_from_size_t (n);
|
||||
#endif
|
||||
|
||||
/* The prompt captured a slice of the dynamic stack. Here we wind
|
||||
those entries onto the current thread's stack. We also have to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue