Handbook
Glossary
loop-pressure-metrics* ( nvalues hot-count hot cold enabled? -- word metrics )
Vocabulary
compiler
.
cfg
.
register-allocation
.
spill-sites
.
fixtures
Inputs
nvalues
an
object
hot-count
an
object
hot
an
object
cold
an
object
enabled?
an
object
Outputs
word
an
object
metrics
an
object
Definition
USING:
accessors
assocs
compiler.cfg
compiler.cfg.build-stack-frame
compiler.cfg.instructions
compiler.cfg.linear-scan.allocation.state
compiler.cfg.linear-scan.numbering
compiler.cfg.linearization
compiler.cfg.loop-detection
compiler.cfg.metrics
compiler.cfg.register-allocation
compiler.cfg.register-allocation.backtracking
compiler.cfg.register-allocation.spill-sites
compiler.codegen
compiler.units
hashtables
kernel
math
namespaces
sequences
words
;
IN:
compiler.cfg.register-allocation.spill-sites.fixtures
::
loop-pressure-metrics*
( nvalues hot-count hot cold enabled? -- word metrics )
[
enabled?
backtracking-loop-spills?
set
backtracking-allocator
register-allocator
set
t
check-allocation?
set
t
check-numbering?
set
nvalues hot-count hot cold
<mixed-loop-pressure>
:>
graph graph
cfg
set
graph
allocate-registers
graph
build-stack-frame
graph
cfg-metrics
:>
metrics graph
weighted-traffic
"weighted-traffic"
metrics
set-at
graph
linearization-order
[
loop-nesting-at
0
>
]
filter
[
instructions>>
[
dup
##spill?
swap
##reload?
or
]
count
]
map-sum
"loop-traffic"
metrics
set-at
loop-spill-site-count
get
"loop-spill-sites"
metrics
set-at
cold-spill-store-count
get
"redundant-loop-stores"
metrics
set-at
gensym
:>
word graph
generate
:>
code code 4
swap
nth
length
"code-bytes"
metrics
set-at
code word
associate
>alist
t
t
modify-code-heap
word metrics
]
with-scope
;