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.
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 ;