leaf-stack-frame-size bootstrap-cell - RET
] \ leaf-signal-handler define-sub-primitive
-[| |
- jit-signal-handler-prolog
- temp0 vm-reg vm-signal-handler-addr-offset [+] MOV
- temp0 CALL
- jit-signal-handler-epilog
- red-zone-size RET
-] \ ffi-signal-handler define-sub-primitive
-
-[| |
- jit-signal-handler-prolog
- temp0 vm-reg vm-signal-handler-addr-offset [+] MOV
- temp0 CALL
- jit-signal-handler-epilog
- red-zone-size 16 bootstrap-cell - + RET
-] \ ffi-leaf-signal-handler define-sub-primitive
-
[
! load boolean
temp0 ds-reg [] MOV
{ SET-FPU-STATE-WORD set-fpu-state }
{ SIGNAL-HANDLER-WORD signal-handler }
{ LEAF-SIGNAL-HANDLER-WORD leaf-signal-handler }
- { FFI-SIGNAL-HANDLER-WORD ffi-signal-handler }
- { FFI-LEAF-SIGNAL-HANDLER-WORD ffi-leaf-signal-handler }
}
\ OBJ-UNDEFINED undefined-def 2array suffix [
swap execute( -- x ) special-objects get set-at
\ enable-gc-events { } { } define-primitive
\ eq? { object object } { object } define-primitive \ eq? make-foldable
\ fclose { alien } { } define-primitive
-\ ffi-signal-handler { } { } define-primitive
-\ ffi-leaf-signal-handler { } { } define-primitive
\ fflush { alien } { } define-primitive
\ fgetc { alien } { object } define-primitive
\ fixnum* { fixnum fixnum } { integer } define-primitive \ fixnum* make-foldable
{ "set-fpu-state" "kernel.private" ( -- ) }
{ "signal-handler" "kernel.private" ( -- ) }
{ "leaf-signal-handler" "kernel.private" ( -- ) }
- { "ffi-signal-handler" "kernel.private" ( -- ) }
- { "ffi-leaf-signal-handler" "kernel.private" ( -- ) }
{ "unwind-native-frames" "kernel.private" ( -- ) }
{ "set-callstack" "kernel.private" ( callstack -- * ) }
{ "lazy-jit-compile" "kernel.private" ( -- ) }
PRIMITIVE: check-datastack ( array in# out# -- ? )
PRIMITIVE: compute-identity-hashcode ( obj -- )
PRIMITIVE: context-object ( n -- obj )
-PRIMITIVE: ffi-leaf-signal-handler ( -- )
-PRIMITIVE: ffi-signal-handler ( -- )
PRIMITIVE: fpu-state ( -- )
PRIMITIVE: innermost-frame-executing ( callstack -- obj )
PRIMITIVE: innermost-frame-scan ( callstack -- n )
CONSTANT: SET-FPU-STATE-WORD 47
CONSTANT: SIGNAL-HANDLER-WORD 48
CONSTANT: LEAF-SIGNAL-HANDLER-WORD 49
-CONSTANT: FFI-SIGNAL-HANDLER-WORD 50
-CONSTANT: FFI-LEAF-SIGNAL-HANDLER-WORD 51
CONSTANT: REDEFINITION-COUNTER 52
SET_FPU_STATE_WORD,
SIGNAL_HANDLER_WORD,
LEAF_SIGNAL_HANDLER_WORD,
- FFI_SIGNAL_HANDLER_WORD,
- FFI_LEAF_SIGNAL_HANDLER_WORD,
+ UNUSED1,
+ UNUSED2,
/* Incremented on every modify-code-heap call; invalidates call( inline
caching */