Handbook
Glossary
spill-intersecting-inactive ( new reg -- )
Vocabulary
compiler
.
cfg
.
linear-scan
.
allocation
.
spilling
Inputs
new
a
live-interval-state
reg
register
Outputs
None
Word description
Any inactive intervals using 'reg' are split and spilled and removed from the inactive set.
See also
inactive-intervals
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-inactive
( new reg -- )
new
inactive-intervals-for
[
dup
reg>>
reg
=
[
dup
new
intervals-intersect?
[
new
live-interval-start
spill
f
]
[
drop
t
]
if
]
[
drop
t
]
if
]
filter!
drop
;