compiler.cfg.linear-scan: Fix a couple of bugs
parent
ca298656e3
commit
2f15ac3c8f
|
@ -41,7 +41,7 @@ IN: compiler.cfg.linear-scan.allocation
|
||||||
2tri 3array assoc-combine
|
2tri 3array assoc-combine
|
||||||
>alist sort-values ;
|
>alist sort-values ;
|
||||||
|
|
||||||
: no-free-registers? ( new result -- ? )
|
: no-free-registers? ( result -- ? )
|
||||||
second 0 = ; inline
|
second 0 = ; inline
|
||||||
|
|
||||||
: register-available? ( new result -- ? )
|
: register-available? ( new result -- ? )
|
||||||
|
|
|
@ -39,7 +39,7 @@ IN: compiler.cfg.linear-scan.allocation.spilling
|
||||||
#! with the most distant use location. Spill the existing
|
#! with the most distant use location. Spill the existing
|
||||||
#! interval, then process the new interval and the tail end
|
#! interval, then process the new interval and the tail end
|
||||||
#! of the existing interval again.
|
#! of the existing interval again.
|
||||||
[ reg>> >>reg drop ]
|
[ reg>> >>reg add-active ]
|
||||||
[ [ add-handled ] [ delete-active ] bi* ]
|
[ [ add-handled ] [ delete-active ] bi* ]
|
||||||
[ split-and-spill [ add-handled ] [ add-unhandled ] bi* ] 2tri ;
|
[ split-and-spill [ add-handled ] [ add-unhandled ] bi* ] 2tri ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue