Handbook
Glossary
emit-##call-gc ( insn -- )
Assigning registers to live intervals
Prev:
change-insn-gc-roots ( gc-map-insn quot: ( x -- x ) -- )
Next:
activate-interval ( live-interval -- )
Vocabulary
compiler
.
cfg
.
linear-scan
.
assignment
Inputs
insn
a
##call-gc
Outputs
None
Word description
Emits a
##call-gc
instruction and the
##reload
and
##spill
instructions it requires. ##call-gc aren't counted as sync points, so the instruction requires special handling.
Definition
USING:
compiler.cfg.instructions
kernel
make
sequences
;
IN:
compiler.cfg.linear-scan.assignment
:
emit-##call-gc
( insn -- )
dup
spill/reloads-for-call-gc
dup
[
first3
##spill,
]
each
swap
,
[
first3
##reload,
]
each
;