From 07b7490f73fb4a6cb0c9577d082d37c8d9cee7b0 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 8 Jan 2018 15:07:42 +0100 Subject: [PATCH] Sync IP before allocating closures * libguile/vm-engine.c (vm_engine): Sync IP before allocating closures. --- libguile/vm-engine.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 6c88ebf11..9509cd643 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -1646,6 +1646,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);