diff options
author | Andy Wingo <wingo@pobox.com> | 2018-01-08 15:07:42 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-01-08 15:19:45 +0100 |
commit | b294a1e7d7007755bfb1017495d4eb81fe62b53c (patch) | |
tree | f60188dcb364a5b23bc9f26b112851a51251f98c /libguile/vm-engine.c | |
parent | 55a8483435de094753b6c04a34a3942678f5c835 (diff) | |
download | guile-b294a1e7d7007755bfb1017495d4eb81fe62b53c.tar.gz |
Sync IP before allocating closures
* libguile/vm-engine.c (vm_engine): Sync IP before allocating closures.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 997fdcc39..a47e1b11a 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -1552,6 +1552,7 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp, UNPACK_24 (ip[2], nfree); // FIXME: Assert range of nfree? + SYNC_IP (); closure = scm_inline_words (thread, scm_tc7_program | (nfree << 16), nfree + 2); SCM_SET_CELL_WORD_1 (closure, ip + offset); |