Handbook
Glossary
split-for-bundle ( interval position -- before after )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
interval
an
object
position
an
object
Outputs
before
an
object
after
an
object
Definition
USING:
accessors
compiler.cfg.linear-scan.allocation.spilling
compiler.cfg.linear-scan.ranges
kernel
math
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
split-for-bundle
( interval position -- before after )
backtracking-phase-mode?
get
[
interval
clone
f
>>spill-to
:>
before interval
clone
f
>>reg
f
>>reload-from
:>
after interval
uses>>
[
n>>
position
<=
]
partition
before after
[
uses<<
]
bi-curry@
bi*
interval
ranges>>
position
split-ranges
before after
[
ranges<<
]
bi-curry@
bi*
before
phase-spill-before
after
spill-after
normalize-phase-reload
]
[
interval position
split-for-spill
]
if
;