cpu.x86.bootstrap: don't safepoint in a safepoint
Safepointing in the signal-handler primitive causes a crash if the safepoint is guarded and the signal being handled was raised by a safepoint. Put our own RET in the subprimitive to bail out before the standard epilog gets written out. This tentatively appears to fix #349.db4
parent
94eb922998
commit
1bc623167f
|
@ -112,6 +112,7 @@ big-endian off
|
|||
temp0 vm-reg vm-signal-handler-addr-offset [+] MOV
|
||||
temp0 CALL
|
||||
frame-size jit-signal-handler-epilog
|
||||
0 RET
|
||||
] \ signal-handler define-sub-primitive
|
||||
|
||||
: leaf-frame-size ( -- n ) 4 bootstrap-cells ;
|
||||
|
|
Loading…
Reference in New Issue