Handbook
Glossary
local-split-plan ( interval -- plan/f )
Vocabulary
compiler
.
cfg
.
register-allocation
.
greedy
Inputs
interval
an
object
Outputs
plan/f
an
object
Definition
USING:
accessors
arrays
assocs
kernel
math
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.greedy
::
local-split-plan
( interval -- plan/f )
f
:>
best! interval
allocation-order
[|
reg |
interval reg
register-free-windows
[|
window |
interval
uses>>
[|
use |
use
n>>
window
first
>=
use
n>>
1
+
window
second
<=
and
]
filter
:>
uses uses
empty?
[
]
[
uses
[
n>>
greedy-use-weights
get
at
1
or
]
map-sum
:>
benefit best
[
benefit best
fourth
>
]
[
t
]
if
[
reg uses
first
n>>
uses
last
n>>
benefit
4array
best!
]
when
]
if
]
each
]
each
best
;