Handbook
Glossary
choose-entry-values ( plan -- values )
Vocabulary
compiler
.
cfg
.
register-allocation
.
chordal
.
spilling
Inputs
plan
an
object
Outputs
values
an
object
Definition
USING:
accessors
assocs
compiler.cfg.register-allocation.chordal.spilling.residency
kernel
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.chordal.spilling
::
choose-entry-values
( plan -- values )
plan
bb>>
kill-block?>>
[
{
}
]
[
plan
distances>>
keys
[
plan
entry-resident-candidate?
]
filter
:>
candidates candidates
[|
value |
value plan
known-predecessor-residents
dup
empty?
[
drop
f
]
[
[
]
all?
]
if
]
filter
:>
common
spill-bank
get
[|
class bank |
candidates
[
register-class
class
=
]
filter
plan class bank
length
loop-entry-candidates
common plan
distances>>
bank
length
select-entry-residents
]
{
}
assoc>map
concat
]
if
;