diff options
author | Andy Wingo <wingo@pobox.com> | 2009-01-13 22:33:21 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-01-13 22:33:21 +0100 |
commit | 7aa6f86b77836b4bfe1a59feab7d08517177858e (patch) | |
tree | 57da8b790f061272d54e5267dba1da975209e450 /libguile/stacks.c | |
parent | d5968e7f4e96d957157a31e577d8792afe655371 (diff) | |
download | guile-7aa6f86b77836b4bfe1a59feab7d08517177858e.tar.gz |
fix marking empty VM continuations
* libguile/vm.h (struct scm_vm_cont):
* libguile/vm.c (capture_vm_cont, reinstate_vm_cont): Change so we just
store the registers as they are, with the reloc.
(vm_cont_mark): Only mark the stack if it has elements on it, otherwise
we get a bogus fp.
* libguile/stacks.c (scm_make_stack): Update for change to vm
continuations.
Diffstat (limited to 'libguile/stacks.c')
-rw-r--r-- | libguile/stacks.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/stacks.c b/libguile/stacks.c index 85527bd6a..e3d131d12 100644 --- a/libguile/stacks.c +++ b/libguile/stacks.c @@ -516,8 +516,8 @@ SCM_DEFINE (scm_make_stack, "make-stack", 1, 0, 1, vm_cont = scm_cdr (scm_car (cont->vm_conts)); data = SCM_VM_CONT_DATA (vm_cont); vmframe = scm_c_make_vm_frame (vm_cont, - data->stack_base + data->fp, - data->stack_base + data->sp, + data->fp + data->reloc, + data->sp + data->reloc, data->ip, data->reloc); } else |