From: Chris Hanson Date: Sat, 20 Jun 2009 19:11:23 +0000 (-0700) Subject: Missed changing one place that knew about closure structure. X-Git-Tag: 20100708-Gtk~378 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=e23368d24455652435750e668bc7742e483681ee;p=mit-scheme.git Missed changing one place that knew about closure structure. --- 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]))); }