From e23368d24455652435750e668bc7742e483681ee Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sat, 20 Jun 2009 12:11:23 -0700 Subject: [PATCH] Missed changing one place that knew about closure structure. --- src/microcode/svm1-interp.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/microcode/svm1-interp.c b/src/microcode/svm1-interp.c index d1a2fbd65..feb2b4db0 100644 --- a/src/microcode/svm1-interp.c +++ b/src/microcode/svm1-interp.c @@ -665,14 +665,15 @@ DEFINE_INST (enter_closure) { DECODE_SVM1_INST_ENTER_CLOSURE (index); { - byte_t * block = (PC - (((index + 1) * 3) + 2)); + byte_t * block = (PC - (SIZEOF_SCHEME_OBJECT + ((index + 1) * 3))); unsigned int count = ((((unsigned int) (block[1])) << 8) | ((unsigned int) (block[0]))); SCHEME_OBJECT * targets = (((SCHEME_OBJECT *) block) - + (((2 + (count * 3)) + ((sizeof (SCHEME_OBJECT)) - 1)) - / (sizeof (SCHEME_OBJECT)))); + + (1 + + (((count * 3) + (SIZEOF_SCHEME_OBJECT - 1)) + / SIZEOF_SCHEME_OBJECT))); push_object (MAKE_CC_BLOCK (((SCHEME_OBJECT *) block) - 1)); NEW_PC (BYTE_ADDR (OBJECT_ADDRESS (targets[index]))); } -- 2.25.1