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
gc-check-insn
Outputs
None
Word description
Emits a GC call or safepoint poll and the
##reload
and
##spill
instructions it requires. These instructions are not counted as ordinary sync points, so they require special handling.
Definition
USING:
kernel
make
sequences
;
IN:
compiler.cfg.linear-scan.assignment
:
emit-##call-gc
( insn -- )
dup
spill/reloads-for-call-gc
dup
[
first3
emit-save
]
each
swap
,
[
first3
emit-restore
]
each
;