Parent: #44 Successor to: #52 Related: #49 Child: #440 (completed)
Goal
Lower general guarded named-property regions into the native frame ABI without recognizing benchmark source or weakening shared-realm semantics.
Acceptance
- Reuse the existing shape/slot inline-cache contract and parallel seqlock validation; never execute a stale slot assumption.
- Preserve accessors, proxies, prototype changes, non-number values, restricted receivers, GC barriers, exact steps, and resumable side exits.
- Add native-on/off differential tests for monomorphic and polymorphic reads/writes, invalidation, shared mutation, and GC checkpoints.
- Save an exact-parent profile showing a material reduction in residual runChunk leaves and no regression in current quick kernels.
- Pass focused JIT, full unit, no-GIL, and suppression-free TSan gates.
Completed implementation
- #440 snapshots immutable four-entry named-property IC state.
a35ee76/1832e5binline guarded isolated-AArch64 reads.85e072e/3934dd0inline guarded existing-slot writes with the narrow GC barrier.8650a29covers moving GC, invalidation, malformed slots, and shared mutation.ba30d4flowers guarded property effects inside reducible loop regions.75dd7a8/7299b7b/f55cb51repair and isolate effect-path coverage.
The saved July 21 exact-parent profile attributes 46.2% of property leaves to generated code and records 52.6% fewer runChunk, 69.1% fewer quick-property, and 40.0% fewer numeric-property leaves than the July 16 baseline. The July 22 clean matrix reports zig-js leads of 1.63x direct / 1.64x at eight steady contexts for monomorphic properties and 2.22x / 2.18x for four-shape polymorphic properties.
Verification: 64/64 focused optimizer tests pass normally and under TSan; the complete suite passes 1,404/1,404 with no failures or leaks, including no-GIL shared mutation and moving-GC property-region coverage.