]> gitweb.factorcode.org Git - factor.git/commitdiff
Eliminate some usages of locals in compiler.tree.dead-code
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 9 Dec 2008 07:04:15 +0000 (01:04 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 9 Dec 2008 07:04:15 +0000 (01:04 -0600)
basis/compiler/tree/dead-code/recursive/recursive.factor

index 02dc42f058072de723d24693dfcc4ef146138c24..71830d07e7e16b268fde37a767e5dc2ef10a03bc 100644 (file)
@@ -22,14 +22,11 @@ M: #call-recursive compute-live-values*
     [ out-d>> ] [ label>> return>> in-d>> ] bi look-at-mapping ;
 
 :: drop-dead-inputs ( inputs outputs -- #shuffle )
-    [let* | live-inputs [ inputs filter-live ]
-            new-live-inputs [ outputs inputs filter-corresponding make-values ] |
-        live-inputs
-        new-live-inputs
-        outputs
-        inputs
-        drop-values
-    ] ;
+    inputs filter-live
+    outputs inputs filter-corresponding make-values
+    outputs
+    inputs
+    drop-values ;
 
 M: #enter-recursive remove-dead-code*
     [ filter-live ] change-out-d ;
@@ -79,12 +76,12 @@ M: #call-recursive remove-dead-code*
         bi
     ] ;
 
-M:: #recursive remove-dead-code* ( node -- nodes )
-    [let* | drop-inputs [ node drop-recursive-inputs ]
-            drop-outputs [ node drop-recursive-outputs ] |
-         node [ (remove-dead-code) ] change-child drop
-         node label>> [ filter-live ] change-enter-out drop
-         { drop-inputs node drop-outputs }
-    ] ;
+M: #recursive remove-dead-code* ( node -- nodes )
+    [ drop-recursive-inputs ]
+    [
+        [ (remove-dead-code) ] change-child
+        dup label>> [ filter-live ] change-enter-out drop
+    ]
+    [ drop-recursive-outputs ] tri 3array ;
 
 M: #return-recursive remove-dead-code* ;