compiler.cfg.builder: safepoint loops and epilogs
parent
0c022f2454
commit
e449fef4e3
|
@ -75,6 +75,7 @@ GENERIC: emit-node ( node -- )
|
||||||
] keep ;
|
] keep ;
|
||||||
|
|
||||||
: emit-loop-call ( basic-block -- )
|
: emit-loop-call ( basic-block -- )
|
||||||
|
##safepoint
|
||||||
##branch
|
##branch
|
||||||
basic-block get successors>> push
|
basic-block get successors>> push
|
||||||
end-basic-block ;
|
end-basic-block ;
|
||||||
|
@ -101,6 +102,7 @@ GENERIC: emit-node ( node -- )
|
||||||
basic-block get swap loops get set-at ;
|
basic-block get swap loops get set-at ;
|
||||||
|
|
||||||
: emit-loop ( node -- )
|
: emit-loop ( node -- )
|
||||||
|
##safepoint
|
||||||
##branch
|
##branch
|
||||||
begin-basic-block
|
begin-basic-block
|
||||||
[ label>> id>> remember-loop ] [ child>> emit-nodes ] bi ;
|
[ label>> id>> remember-loop ] [ child>> emit-nodes ] bi ;
|
||||||
|
@ -202,6 +204,7 @@ M: #shuffle emit-node
|
||||||
##branch
|
##branch
|
||||||
begin-basic-block
|
begin-basic-block
|
||||||
make-kill-block
|
make-kill-block
|
||||||
|
##safepoint
|
||||||
##epilogue
|
##epilogue
|
||||||
##return ;
|
##return ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue