Handbook
Glossary
cfg-metrics ( cfg -- metrics )
Vocabulary
compiler
.
cfg
.
metrics
Inputs
cfg
an
object
Outputs
metrics
an
object
Definition
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linearization
kernel
sequences
;
IN:
compiler.cfg.metrics
::
cfg-metrics
( cfg -- metrics )
cfg
cfg>insns
:>
insns insns
length
:>
instructions insns
[
##spill?
]
count
:>
spills insns
[
##reload?
]
count
:>
reloads insns
[
##copy?
]
count
:>
copies cfg
linearization-order
length
:>
blocks cfg
stack-frame>>
[
spill-area-size>>
]
[
0
]
if*
:>
spill-bytes cfg
stack-frame>>
[
total-size>>
]
[
0
]
if*
:>
frame-bytes
H{
{
"reloads"
reloads
}
{
"instructions"
instructions
}
{
"frame-bytes"
frame-bytes
}
{
"spill-bytes"
spill-bytes
}
{
"blocks"
blocks
}
{
"copies"
copies
}
{
"spills"
spills
}
}
;