Handbook
Glossary
split-evidence ( -- witness )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
.
evidence
Inputs
None
Outputs
witness
an
object
Definition
USING:
accessors
arrays
compiler.cfg.linear-scan.allocation.state
compiler.cfg.register-allocation.backtracking
kernel
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking.evidence
::
split-evidence
( -- witness )
evidence-bank
drop
H{
}
clone
spill-slots
set
f
backtracking-barriers
set
1
{
0 20 40 100
}
evidence-interval
:>
parent parent 39
split-for-bundle
:>
( before after )
before after
2array
:>
pieces parent pieces
uncovered-ranges
:>
gaps
H{
{
"ranges"
gaps
}
{
"uses"
{
}
}
{
"id"
"canonical-spill-bundle"
}
}
:>
spill
"before"
before
split-child
"after"
after
split-child
spill
3array
:>
children parent
ranges>>
:>
ranges parent
uses>>
[
n>>
]
map
:>
uses
H{
{
"parent_uses"
uses
}
{
"parent_ranges"
ranges
}
{
"kind"
"split"
}
{
"children"
children
}
}
;