Source/Reference

SM86.Scoreboard

reference/target-models/checked/SM86/Scoreboard.alpha

437 lines42 declarations25.5 KiBSHA-256 e8d85751fb4f

field · lines 58–58

scoreboardMasksBarrier2

Full file
Pending as seven byte masks, not a scanned list. The old pending list grew with every unretired variable-latency write -- barriers a step never waits on, and barrier 8 (scoreboardNever) which no mask can name -- and every instruction scanned the whole accumulation per register it touched: quadratic in the program length (268 s for the wait-stripped 1,259 instruction mutant, 8.4 s clean). One mask per barrier (1..6 and 8) holds a 1 at each pending register, so membership is seven indexed reads, issue is one indexed write per written register, and retire swaps in the shared empty for every barrier the wait mask names: bounded work per instruction, near-linear overall. Equivalence (exact, on every program): the old list's multiplicity is unobservable -- every query is membership by register and every removal is a bulk delete by barrier, and the masks track exactly the set of live (register, barrier) pairs through both. RZ (255) is never inserted (sm86RegisterRun names nothing from it) and stays guarded at lookup.
58field unrestricted scoreboardMasksBarrier2 : Bytes

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.