Handbook
Glossary
ensure-spillset-home ( spillset -- )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
spillset
an
object
Outputs
None
Definition
USING:
accessors
arrays
assocs
compiler.cfg.linear-scan.allocation.state
compiler.cfg.register-allocation.occupancy
cpu.architecture
kernel
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
ensure-spillset-home
( spillset -- )
spillset
home>>
[
]
[
spill-home-pool
get
[|
home |
home
rep>>
spillset
rep>>
=
spillset
ranges>>
home
occupancy>>
occupancy-conflicts
empty?
and
]
find
nip
:>
reusable reusable
[
backtracking-shared-homes
inc
reusable
]
[
spillset
members>>
first
spillset
rep>>
assign-spill-slot
spillset
rep>>
<register-occupancy>
allocation-spill-home
boa
dup
spill-home-pool
get
push
]
if
:>
home spillset spillset
ranges>>
home
occupancy>>
occupy-ranges
spillset home
slot>>
>>home
drop
spillset
members>>
[|
vreg |
home
slot>>
vreg spillset
rep>>
rep-size
2array
spill-slots
get
set-at
]
each
]
if
;