Forked P125 into P126 and added shadow holding records for memory-class and control-flow queued instructions. This is still instrumentation, not a behavior change.
The memory record counts loads, stores, and AMOs. It treats rs1 as the
address source and rs2 as store/AMO data. The control record counts
branches, JALs, and JALRs. It treats branch rs1/rs2 and JALR rs1
as source dependencies; JAL has no modeled source.
Verification:
| check | result |
|---|---|
make check-tools | PASS |
| P126 Verilator build | PASS |
| P126 BusyBox shell profile | PASS |
P126-FILE-OK at cycle | 218,372,811 |
The useful numbers:
memory candidates : 6,659,815
memory accepts : 3,245,087
memory source busy : 3,414,728
memory full blocks : 0
control candidates : 9,328,049
control accepts : 6,280,124
control source busy: 3,018,251
control full blocks: 29,878
P126 confirms that the next backend rung should be about scheduler wakeup/issue eligibility across multiple held classes, not merely a larger one-entry integer slot.