Handbook
Glossary
backtracking-spill-site ( interval -- position )
Vocabulary
compiler
.
cfg
.
register-allocation
.
spill-sites
Inputs
interval
an
object
Outputs
position
an
object
Definition
USING:
accessors
assocs
kernel
math
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.spill-sites
::
backtracking-spill-site
( interval -- position )
interval
uses>>
:>
uses uses
length
2
/i
:>
median
backtracking-loop-spills?
get
interval
vreg>>
cold-spill-values
get
key?
and
uses
first
def-rep>>
>boolean
and
[
loop-spill-site-count
inc
uses
first
n>>
1
+
]
[
backtracking-loop-spills?
get
[
uses
cooler-spill-site
dup
median
=
[
]
[
loop-spill-site-count
inc
]
if
]
[
median
]
if
uses
nth
n>>
1
-
]
if
;