Handbook
Glossary
compute-live-intervals* ( insn -- )
Live interval utilities
Prev:
vreg-use
Next:
record-def ( vreg n spill-slot? -- )
Vocabulary
compiler
.
cfg
.
linear-scan
.
live-intervals
Inputs
insn
an
object
Outputs
None
Definition
IN:
compiler.cfg.linear-scan.live-intervals
GENERIC:
compute-live-intervals*
( insn -- )
Methods
USING:
accessors
compiler.cfg.def-use
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
clobber-insn
compute-live-intervals*
dup
insn#>>
[
[
defs-vregs
]
dip
'[
_
f
record-def
]
each
]
[
[
uses-vregs*
]
dip
'[
_
t
record-use
]
each
]
[
[
temp-vregs
]
dip
'[
_
record-temp
]
each
]
2tri
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
gc-check-insn
compute-live-intervals*
[
uses-vregs*
]
[
insn#>>
]
bi
'[
_
f
record-use
]
each
;
USING:
accessors
compiler.cfg.def-use
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
hairy-clobber-insn
compute-live-intervals*
dup
insn#>>
[
[
defs-vregs
]
dip
'[
_
t
record-def
]
each
]
[
[
uses-vregs*
]
dip
'[
_
t
record-use
]
each
]
[
[
temp-vregs
]
dip
'[
_
record-temp
]
each
]
2tri
;
USING:
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
kernel
;
M:
insn
compute-live-intervals*
drop
;
USING:
accessors
compiler.cfg.def-use
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
vreg-insn
compute-live-intervals*
dup
insn#>>
[
[
defs-vregs
]
dip
'[
_
f
record-def
]
each
]
[
[
uses-vregs*
]
dip
'[
_
f
record-use
]
each
]
[
[
temp-vregs
]
dip
'[
_
record-temp
]
each
]
2tri
;