Handbook
Glossary
phase-spill-before ( interval -- interval/f )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
interval
an
object
Outputs
interval/f
an
object
Definition
USING:
accessors
compiler.cfg.linear-scan.allocation.spilling
compiler.cfg.linear-scan.live-intervals
compiler.cfg.linear-scan.ranges
kernel
math
math.order
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
phase-spill-before
( interval -- interval/f )
interval
uses>>
empty?
[
f
]
[
interval
last-use
n>>
:>
last interval
ranges>>
[
last
swap
first2
between?
]
find
nip
second
:>
end interval
spill-before
backtracking-phase-mode?
get
[
last
dup
2
mod
zero?
[
1
+
]
when
end
min
swap
[
fix-upper-bound
]
change-ranges
]
when
]
if
;