Handbook
Glossary
split-bundle-at ( bundle position -- )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
bundle
an
object
position
an
object
Outputs
None
Definition
USING:
accessors
compiler.cfg.linear-scan.live-intervals
kernel
math
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
split-bundle-at
( bundle position -- )
V{
}
clone
:>
before
V{
}
clone
:>
after
backtracking-splits
inc
backtracking-directed-splits
inc
bundle
spillset>>
[
[
1
+
]
change-splits
drop
]
when*
bundle
intervals>>
[|
interval |
interval
live-interval-end
position
backtracking-phase-mode?
get
[
<=
]
[
<
]
if
[
interval before
push
]
[
interval
live-interval-start
position
>
[
interval after
push
]
[
interval
ensure-interval-home
interval position
split-for-bundle
[
after
push
]
when*
[
before
push
]
when*
]
if
]
if
]
each
before
enqueue-pieces
after
enqueue-pieces
;