]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.linear-scan: Fix a couple of bugs
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 19 Jun 2009 08:42:42 +0000 (03:42 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 19 Jun 2009 08:42:42 +0000 (03:42 -0500)
basis/compiler/cfg/linear-scan/allocation/allocation.factor
basis/compiler/cfg/linear-scan/allocation/spilling/spilling.factor

index 8e6479f938963f713d18893731f98f5e4131651b..868beee160300853e54695ae654720299219a848 100644 (file)
@@ -41,7 +41,7 @@ IN: compiler.cfg.linear-scan.allocation
     2tri 3array assoc-combine
     >alist sort-values ;
 
-: no-free-registers? ( new result -- ? )
+: no-free-registers? ( result -- ? )
     second 0 = ; inline
 
 : register-available? ( new result -- ? )
index 5ed7e0f0d1ce8c8fe5545dc1288f4847bb985ef4..caef971ab97fbeb81b6e499d653b138e9ff460f5 100644 (file)
@@ -39,7 +39,7 @@ IN: compiler.cfg.linear-scan.allocation.spilling
     #! with the most distant use location. Spill the existing
     #! interval, then process the new interval and the tail end
     #! of the existing interval again.
-    [ reg>> >>reg drop ]
+    [ reg>> >>reg add-active ]
     [ [ add-handled ] [ delete-active ] bi* ]
     [ split-and-spill [ add-handled ] [ add-unhandled ] bi* ] 2tri ;