svm: IMPORT_REGS should restore dynamic-link.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 3 Feb 2012 23:40:24 +0000 (16:40 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 3 Feb 2012 23:40:24 +0000 (16:40 -0700)
The i386's interface_to_scheme restores this register from the
CC_STACK_ENV pushed by comutil_interrupt_dlink via
compiler_interrupt_common.  comp_interrupt_restart has popped the
CC_STACK_ENV into the value register and interface_to_scheme takes it
from there.

src/microcode/svm1-interp.c

index a6433b6189476244afa62b7c85065dedefe74193..28a1cf7cb9a2e95831c6f0d6caef97c8ef6a91ed 100644 (file)
@@ -187,6 +187,7 @@ initialize_svm1 (void)
   WREG_SET (SVM1_REG_STACK_POINTER, ((word_t)stack_pointer));          \
   WREG_SET (SVM1_REG_FREE_POINTER, ((word_t)Free));                    \
   WREG_SET (SVM1_REG_VALUE, GET_VAL);                                  \
+  WREG_SET (SVM1_REG_DYNAMIC_LINK, BYTE_ADDR(OBJECT_ADDRESS(GET_VAL)));        \
 } while (0)
 
 #define EXPORT_REGS() do                                               \