compiler: emit safepoints in optimized prologs

db4
Joe Groff 2011-11-16 16:50:16 -08:00
parent 44b608bb22
commit 6498bc65ce
3 changed files with 6 additions and 5 deletions

View File

@ -57,6 +57,7 @@ GENERIC: emit-node ( node -- )
: begin-word ( -- )
make-kill-block
##safepoint,
##prologue,
##branch,
begin-basic-block ;

View File

@ -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

View File

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