Handbook
Glossary
(greedy-allocation-with-registers) ( cfg registers -- )
Vocabulary
compiler
.
cfg
.
register-allocation
.
greedy
Inputs
cfg
an
object
registers
an
object
Outputs
None
Definition
USING:
compiler.cfg.linear-scan.allocation.state
compiler.cfg.linear-scan.assignment
compiler.cfg.linear-scan.checker
compiler.cfg.linear-scan.live-intervals
kernel
namespaces
;
IN:
compiler.cfg.register-allocation.greedy
::
(greedy-allocation-with-registers)
( cfg registers -- )
cfg
prepare-greedy-regions
cfg
compute-live-intervals
:>
original-intervals
check-allocation?
get
[
original-intervals
required-register-uses
]
[
f
]
if
:>
required original-intervals registers
greedy-allocate-intervals
:>
intervals
check-allocation?
get
[
intervals registers
check-allocated-intervals
intervals required
check-register-uses
]
when
cfg intervals
assign-registers
;