Handbook
Glossary
memory-region-products ( interval block cascade -- )
Vocabulary
compiler
.
cfg
.
register-allocation
.
greedy
Inputs
interval
an
object
block
an
object
cascade
an
object
Outputs
None
Definition
USING:
accessors
compiler.cfg.linear-scan.allocation.spilling
compiler.cfg.linear-scan.live-intervals
compiler.cfg.linear-scan.ranges
kernel
sequences
;
IN:
compiler.cfg.register-allocation.greedy
::
memory-region-products
( interval block cascade -- )
block
uses>>
empty?
[
]
[
interval block
region-fragment
f
>>reload-from
f
>>spill-to
spill-after
spill-before
:>
product product
last-use
n>>
block
block>>
block-to
=
[
product
f
>>spill-to
drop
product
[
block
block>>
block-to
swap
fix-upper-bound
]
change-ranges
drop
]
when
product
local-stage
cascade
enqueue-split-product
"block-split-products"
greedy-count
]
if
;