]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.linear-scan.assignment: correctly compute live registers at GC check...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 20 Jun 2009 20:33:12 +0000 (15:33 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 20 Jun 2009 20:33:12 +0000 (15:33 -0500)
basis/compiler/cfg/linear-scan/assignment/assignment.factor

index ea918a7424bcb596c35fe025a7f48e957d0aabf8..bf2a56adbdfd1ab1bed6a90081de60d3c6bb1ecd 100644 (file)
@@ -102,7 +102,9 @@ M: vreg-insn assign-registers-in-insn
     >>regs drop ;
 
 : compute-live-registers ( insn -- regs )
-    active-intervals register-mapping ;
+    [ active-intervals ] [ temp-vregs ] bi
+    '[ vreg>> _ memq? not ] filter
+    register-mapping ;
 
 : compute-live-spill-slots ( -- spill-slots )
     spill-slots get values [ values ] map concat