compiler: emit safepoints in optimized prologs
parent
44b608bb22
commit
6498bc65ce
|
@ -57,6 +57,7 @@ GENERIC: emit-node ( node -- )
|
|||
|
||||
: begin-word ( -- )
|
||||
make-kill-block
|
||||
##safepoint,
|
||||
##prologue,
|
||||
##branch,
|
||||
begin-basic-block ;
|
||||
|
|
|
@ -9,7 +9,7 @@ IN: compiler.cfg.finalization
|
|||
|
||||
: finalize-cfg ( cfg -- cfg' )
|
||||
select-representations
|
||||
schedule-instructions
|
||||
! schedule-instructions
|
||||
insert-gc-checks
|
||||
eliminate-write-barriers
|
||||
dup compute-uninitialized-sets
|
||||
|
|
|
@ -60,10 +60,10 @@ M: x86.64 %vm-field-ptr ( dst offset -- )
|
|||
[ vm-reg ] dip [+] LEA ;
|
||||
|
||||
M: x86.64 %prologue ( n -- )
|
||||
R11 -7 [RIP+] LEA
|
||||
dup PUSH
|
||||
R11 PUSH
|
||||
stack-reg swap 3 cells - SUB ;
|
||||
RAX 0 MOV rc-absolute-cell rel-this
|
||||
stack-reg over cell - SUB
|
||||
stack-reg over 3 cells - [+] RAX MOV
|
||||
stack-reg over 2 cells - [+] swap MOV ;
|
||||
|
||||
M: x86.64 %prepare-jump
|
||||
pic-tail-reg xt-tail-pic-offset [RIP+] LEA ;
|
||||
|
|
Loading…
Reference in New Issue