HOOK: %spill cpu ( src rep dst -- )
HOOK: %reload cpu ( dst rep src -- )
-HOOK: %loop-entry cpu ( -- )
-
HOOK: fused-unboxing? cpu ( -- ? )
HOOK: immediate-arithmetic? cpu ( n -- ? )
{ scalar-rep [ scratch-reg swap LI 1 scratch-reg LVX ] }
} case ;
-M: ppc %loop-entry ( -- ) ;
M: ppc immediate-arithmetic? ( n -- ? ) -32768 32767 between? ;
M: ppc immediate-bitwise? ( n -- ? ) 0 65535 between? ;
M: ppc immediate-store? ( n -- ? ) immediate-comparand? ;
%end-callback
[ first3 %store-reg-param ] each ;
-M: x86 %loop-entry 16 alignment [ NOP ] times ;
-
M:: x86 %save-context ( temp1 temp2 -- )
! Save Factor stack pointers in case the C code calls a
! callback which does a GC, which must reliably trace