Handbook
Glossary
split-single-interval ( interval -- )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
interval
an
object
Outputs
None
Definition
USING:
accessors
arrays
compiler.cfg.linear-scan.allocation.spilling
kernel
math
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
split-single-interval
( interval -- )
interval
ensure-interval-home
interval
uses>>
:>
uses interval
minimal-interval?
[
interval
unsatisfiable-register-pressure
]
when
backtracking-splits
inc
interval
1array
<allocation-bundle>
bundle-split-sites
:>
sites sites
empty?
[
backtracking-minimal-splits
inc
interval
spill-after
normalize-phase-reload
phase-spill-before
enqueue-interval
]
[
sites
dup
length
2
/i
swap
nth
interval
swap
split-for-bundle
[
enqueue-interval
]
bi@
]
if
;