Parent: #62 Related: zig-utils/zig-gc#10, #76
Problem
The post-#76 object_churn profile still attributes 167 top-of-stack samples to thread-local lookup, while the fixed allocation loop already owns the executing Interpreter and its exact gc heap pointer. barrierExactManagedCellFrom unnecessarily rediscovers that same heap through active_heap once per replacement. The direct checkpoint remains about 1.9x behind JSC.
Scope
- Change the strict managed barrier helper to take the interpreter heap capability explicitly.
- Use
vm.gcin the fixed-shape object-allocation loop. - Preserve the arena fallback and exact owner/child contract.
- Do not change the tolerant barrier or broader thread-local allocation funnels.
- Measure against
fb6f8d8with alternating fresh processes and exact checksums. - Revert and document if the change is neutral.
Acceptance
- Focused GC/nursery quick-loop coverage passes.
object_churnchecksum remains 1030552128.- Candidate wins a majority of pinned pairs with a meaningful median reduction.
- Commit references this issue and is pushed to main as Chris without coauthors.