]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.builder: safepoint loops and epilogs
authorJoe Groff <arcata@gmail.com>
Wed, 19 Oct 2011 17:35:33 +0000 (10:35 -0700)
committerJoe Groff <arcata@gmail.com>
Fri, 28 Oct 2011 04:14:46 +0000 (21:14 -0700)
basis/compiler/cfg/builder/builder.factor

index 60f6f0acbfa8e762cd5601225db45625c9e29513..627eeafac22f93d93f9687f163096ea6de468186 100644 (file)
@@ -75,6 +75,7 @@ GENERIC: emit-node ( node -- )
     ] keep ;
 
 : emit-loop-call ( basic-block -- )
+    ##safepoint
     ##branch
     basic-block get successors>> push
     end-basic-block ;
@@ -101,6 +102,7 @@ GENERIC: emit-node ( node -- )
     basic-block get swap loops get set-at ;
 
 : emit-loop ( node -- )
+    ##safepoint
     ##branch
     begin-basic-block
     [ label>> id>> remember-loop ] [ child>> emit-nodes ] bi ;
@@ -202,6 +204,7 @@ M: #shuffle emit-node
     ##branch
     begin-basic-block
     make-kill-block
+    ##safepoint
     ##epilogue
     ##return ;