split-evidence ( -- witness )


Vocabulary
compiler.cfg.register-allocation.backtracking.evidence

Inputs
None

Outputs
witnessan object


Definition


:: 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 }
} ;