]> gitweb.factorcode.org Git - factor.git/commitdiff
cpu.x86.64.bootstrap: save all the regs on signal
authorJoe Groff <arcata@gmail.com>
Fri, 4 Nov 2011 17:01:39 +0000 (10:01 -0700)
committerJoe Groff <arcata@gmail.com>
Fri, 4 Nov 2011 17:01:56 +0000 (10:01 -0700)
Appears to fix another sporadic crash from mason on x86-64. There's no reason to cut corners here, really.

basis/cpu/x86/64/bootstrap.factor

index 223f692cbde612848075991ff5529f7d04460d6b..cf46b2c43da58f380a17d8e8ba0d299f1978d1bf 100755 (executable)
@@ -91,9 +91,8 @@ IN: bootstrap.x86
     "end_callback" jit-call
 ] \ c-to-factor define-sub-primitive
 
-! In addition to the C ABI volatile regs, we also whack R12
-! when we save context before calling the signal handler.
-: signal-handler-save-regs ( -- regs ) volatile-regs R12 suffix ;
+: signal-handler-save-regs ( -- regs )
+    { RAX RCX RDX RBX RBP RSI RDI R8 R9 R10 R11 R12 R13 R14 R15 } ;
 
 :: jit-signal-handler-prolog ( -- frame-size )
     signal-handler-save-regs :> save-regs