Handbook
Glossary
allocate-and-assign-with-registers ( cfg registers -- )
Vocabulary
compiler
.
cfg
.
linear-scan
Inputs
cfg
an
object
registers
an
object
Outputs
None
Definition
USING:
compiler.cfg.linear-scan.allocation
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.linear-scan
::
allocate-and-assign-with-registers
( cfg registers -- )
cfg
compute-live-intervals
:>
input
check-allocation?
get
[
input
required-register-uses
]
[
f
]
if
:>
uses input registers
allocate-registers
:>
intervals
check-allocation?
get
[
intervals registers
check-allocated-intervals
intervals uses
check-register-uses
]
when
cfg intervals
assign-registers
;