Handbook
Glossary
spill-intersecting-active ( new reg -- )
Vocabulary
compiler
.
cfg
.
linear-scan
.
allocation
.
spilling
Inputs
new
a
live-interval-state
reg
register
Outputs
None
Word description
If there is an active interval using 'reg' (there should be at most one) are split and spilled and removed from the inactive set.
Definition
USING:
accessors
compiler.cfg.linear-scan.allocation.state
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
IN:
compiler.cfg.linear-scan.allocation.spilling
::
spill-intersecting-active
( new reg -- )
new
active-intervals-for
[
[
reg>>
reg
=
]
find
swap
dup
]
keep
[
remove-nth!
drop
new
live-interval-start
spill
]
curry
[
2drop
]
if
;