Handbook
Glossary
recolor-on-register ( interval reg depth -- ? )
Vocabulary
compiler
.
cfg
.
register-allocation
.
greedy
Inputs
interval
an
object
reg
an
object
depth
an
object
Outputs
?
an
object
Definition
USING:
assocs
kernel
math
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.greedy
::
recolor-on-register
( interval reg depth -- ? )
interval reg
register-conflicts
:>
conflicts conflicts
empty?
[
interval reg
greedy-assign
t
]
[
depth 0
>
conflicts
length
8
<=
and
conflicts
[
greedy-recolor-fixed
get
key?
not
]
all?
and
[
save-greedy-state
:>
saved conflicts
[
greedy-unassign
]
each
interval reg
greedy-assign
t
interval
greedy-recolor-fixed
get
set-at
conflicts
[
depth 1
-
recolor-interval
]
all?
[
t
]
[
saved
restore-greedy-state
"recolor-rollbacks"
greedy-count
f
]
if
]
[
f
]
if
]
if
;