compiler.cfg.linear-scan: code cleanup

db4
Slava Pestov 2009-07-07 03:45:27 -05:00
parent 0bcf4ce535
commit 43c873f00a
2 changed files with 3 additions and 7 deletions
basis/compiler/cfg/linear-scan
allocation/spilling
live-intervals

View File

@ -44,9 +44,7 @@ ERROR: bad-live-ranges interval ;
dup vreg>> assign-spill-slot >>reload-from drop ;
: split-and-spill ( live-interval n -- before after )
split-for-spill
[ [ assign-spill ] [ assign-reload ] bi* ]
[ [ t >>record-spill? ] [ t >>record-reload? ] bi* ] 2bi ;
split-for-spill 2dup [ assign-spill ] [ assign-reload ] bi* ;
: find-use-position ( live-interval new -- n )
[ uses>> ] [ start>> '[ _ >= ] ] bi* find nip 1/0. or ;
@ -80,7 +78,6 @@ ERROR: bad-live-ranges interval ;
{ [ [ drop reg>> ] dip = ] [ drop intervals-intersect? ] } 3&& ;
: split-live-out ( live-interval -- )
f >>record-spill?
{
[ trim-before-ranges ]
[ compute-start/end ]
@ -89,11 +86,10 @@ ERROR: bad-live-ranges interval ;
} cleave ;
: split-live-in ( live-interval -- )
f >>record-reload?
{
[ trim-after-ranges ]
[ compute-start/end ]
! [ assign-reload ]
[ assign-reload ]
[ add-handled ]
} cleave ;

View File

@ -11,7 +11,7 @@ C: <live-range> live-range
TUPLE: live-interval
vreg
reg spill-to record-spill? reload-from record-reload?
reg spill-to reload-from
split-before split-after split-next
start end ranges uses
copy-from ;