]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.builder.*: the when* checks aren't needed
authorBjörn Lindqvist <bjourne@gmail.com>
Sat, 30 Apr 2016 07:27:27 +0000 (09:27 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Sat, 30 Apr 2016 07:28:30 +0000 (09:28 +0200)
basis/compiler/cfg/builder/blocks/blocks.factor
basis/compiler/cfg/builder/builder-tests.factor

index 96b4ed0488f9a2a1a3d19caae7200c26f80a0585..b58ae2de44dc0f9d222feeca5743f80e303f554e 100644 (file)
@@ -11,10 +11,10 @@ SLOT: out-d
     dup begin-local-analysis instructions>> building set ;
 
 : end-basic-block ( block -- )
-    [ end-local-analysis ] when* building off ;
+    end-local-analysis building off ;
 
 : (begin-basic-block) ( block -- block' )
-    <basic-block> swap [ over connect-bbs ] when* dup set-basic-block ;
+    <basic-block> dup set-basic-block [ connect-bbs ] keep ;
 
 : begin-basic-block ( block -- block' )
     dup end-basic-block (begin-basic-block) ;
@@ -54,6 +54,6 @@ SLOT: out-d
     sift [ f ] [
         dup first second height-state set
         [ first ] map
-        f begin-basic-block
+        <basic-block> dup set-basic-block
         [ connect-Nto1-bbs ] keep
     ] if-empty ;
index 158836f85a3c6278a4b0735100667211147f39b4..00095c3c39e0cf0944f85276c28fa792f24c33e3 100644 (file)
@@ -335,7 +335,9 @@ SYMBOL: foo
 {
     V{ T{ ##call { word set-slot } } T{ ##branch } }
 } [
-    [ f call-node-1 emit-node ] V{ } make drop
+    [
+         <basic-block> dup set-basic-block call-node-1 emit-node
+    ] V{ } make drop
     predecessors>> first instructions>>
 ] cfg-unit-test