Handbook
Glossary
allocate-second-chance ( allocated -- intervals )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
allocated
an
object
Outputs
intervals
an
object
Definition
USING:
accessors
assocs
kernel
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
allocate-second-chance
( allocated -- intervals )
backtracking-point-blocks
get
assoc-empty?
[
allocated
]
[
allocated
second-chance-bundles
[|
bundle |
backtracking-second-chance-attempts
inc
bundle
bundle-register-order
[|
reg |
bundle reg
bundle-conflicts
empty?
[
bundle reg
assign-bundle
backtracking-second-chance-assignments
inc
t
]
[
f
]
if
]
any?
drop
]
each
assigned-bundles
get
[
intervals>>
]
map
concat
dup
reify-register-transitions
]
if
;