Summary
compiler-output-regression → suite native-abi-proof → workload native_abi_packet_control fails its hot_loops_no_runtime_calls contract:
hot_loops_no_runtime_calls: hot loop runtime calls: {"for.body.2": [
"js_array_length", "js_array_push_f64", "js_boxed_number_new",
"js_native_arena_alloc", "js_native_aren…"
]}
The hot loop lost its native-region lowering and fell back to generic runtime calls. native-region-proof (the sibling suite in the same job) still reports "status": "pass" — only native-abi-proof is red, and only this one workload.
When it appeared
compiler-output-regression on scheduled main runs:
| run |
main SHA |
result |
| 30428100984 (2026-07-29) |
760db2fd8 |
failure |
| 30334470716 (2026-07-28) |
95960e0df |
success |
| 30244372354 (2026-07-27) |
b5727f305 |
success |
| 30191162880 (2026-07-26) |
497f64e43 |
success |
So it was introduced somewhere in 95960e0df..760db2fd8 — 28 commits, since the scheduled run is daily and that window holds a full day of merges. I have not bisected it, and I am deliberately not guessing: several commits in that range are plausible on priors (the rooting series #6934/#6941/#6948/#6972 emits new calls; the code-shape/table-izing series #6937/#6938/#6940/#6959 changes lowering; #6893/#6939 changed typed layouts), and "plausible on priors" is how two wrong attributions already got made this week.
The window is git log --oneline 95960e0df..760db2fd8.
Why it matters now
compiler-output-regression is a required check, so this blocks every open PR that reaches it — currently #6990, and #6983/#6994 once they get that far. Those PRs are unrelated to the defect: #6990's diff is two comment rewrites plus a runtime-side RuntimeHandleScope, none of which can add calls to generated IR.
This is also the second repo-wide gate red at the same time; the other is the stale public benchmark baseline failing lint. Both need clearing before the GC work can land.
Suggested next step
Bisect the 28-commit window against this one workload. It should be cheap to script:
python3 scripts/compiler_output_regression.py suite --suite native-abi-proof # (see the workflow for exact args)
Then decide whether the regression is a genuine lowering loss to fix, or an intentional consequence of new rooting emission — in which case the contract needs updating deliberately, with the cost written down, rather than left red.
Summary
compiler-output-regression→ suitenative-abi-proof→ workloadnative_abi_packet_controlfails itshot_loops_no_runtime_callscontract:The hot loop lost its native-region lowering and fell back to generic runtime calls.
native-region-proof(the sibling suite in the same job) still reports"status": "pass"— onlynative-abi-proofis red, and only this one workload.When it appeared
compiler-output-regressionon scheduled main runs:760db2fd895960e0dfb5727f305497f64e43So it was introduced somewhere in
95960e0df..760db2fd8— 28 commits, since the scheduled run is daily and that window holds a full day of merges. I have not bisected it, and I am deliberately not guessing: several commits in that range are plausible on priors (the rooting series #6934/#6941/#6948/#6972 emits new calls; the code-shape/table-izing series #6937/#6938/#6940/#6959 changes lowering; #6893/#6939 changed typed layouts), and "plausible on priors" is how two wrong attributions already got made this week.The window is
git log --oneline 95960e0df..760db2fd8.Why it matters now
compiler-output-regressionis a required check, so this blocks every open PR that reaches it — currently #6990, and #6983/#6994 once they get that far. Those PRs are unrelated to the defect: #6990's diff is two comment rewrites plus a runtime-sideRuntimeHandleScope, none of which can add calls to generated IR.This is also the second repo-wide gate red at the same time; the other is the stale public benchmark baseline failing
lint. Both need clearing before the GC work can land.Suggested next step
Bisect the 28-commit window against this one workload. It should be cheap to script:
Then decide whether the regression is a genuine lowering loss to fix, or an intentional consequence of new rooting emission — in which case the contract needs updating deliberately, with the cost written down, rather than left red.