eviction-evidence ( -- witness )


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

Inputs
None

Outputs
witnessan object


Definition


:: eviction-evidence ( -- witness )
evidence-bank :> bank 1 { 0 100 } evidence-interval
1array bank backtracking-allocation drop
assigned-bundles get [ owner-evidence ] map :> before 2
{ 20 22 24 40 } evidence-interval
1array <allocation-bundle> :> request bank first second
first :> register request register bundle-conflicts
:> conflicts conflicts [ intervals>> first vreg>> ] map
:> evicted request register conflicts conflicts
conflict-cost 3array assign-with-eviction
assigned-bundles get [ owner-evidence ] map
:> after bundle-queue get heap-members
[ intervals>> first vreg>> ] map
:> requeued request ranges>> :> ranges request weight>>
>float :> weight H{
{ "after" after }
{ "kind" "eviction" }
{ "strict_weight" t }
{ "before" before }
{ "requeued" requeued }
{ "request_ranges" ranges }
{ "evicted" evicted }
{ "request_id" 2 }
{ "request_weight" weight }
} ;