Parent: #473
Repeated JSON.parse calls rebuild the same small ordinary object shapes through generic transition lookup and per-property publication even though parsed objects remain private until the parse succeeds. Exact attribution on the current pushed #1011 baseline records 1,984,837 shape-transition requests for each frozen representative parse row.
A bounded invocation-local prototype buffers at most Object.inline_slot_capacity fields, byte-verifies a previously prepared immutable shape chain, and bulk-initializes only a fresh private object. Reordered keys, duplicates, canonical index keys, a fifth field, or any shape mismatch fall back to the unchanged CreateDataProperty path. The cache is lazy and per Interpreter, so it crosses neither realms nor concurrent workers.
Measured prototype evidence against pushed 3abc2fc:
- representative_json: 1,984,837 -> 4,892 shape requests, exact checksum/cell/allocation/collection counts; seven-pair retired instructions 0.97806x.
- representative_json_variant: 1,984,837 -> 4,892 shape requests, exact checksum/cell/allocation/collection counts; seven-pair retired instructions 0.97500x.
- escaped-string, depth, and shallow controls remain within 0.19% retired instructions.
- reviver attribution is causally unchanged; its first seven-pair timing set is noisy, so a dedicated 15-pair control rerun remains required before landing.
Two alternatives were measured and rejected without commits: a realm-owner atomic cache caused a stable escaped-string timing regression despite neutral instructions, and stateless transition-chain replay regressed the owned rows by 0.66-1.06% instructions.
Definition of done:
- dedicated control rerun confirms no hidden regression
- exact reuse plus duplicate/index/wide/NUL fallback unit coverage
- allocation-failure sweep and deep-input behavior
- moving-GC plus no-GIL/TSan coverage
- JSON test262 and required-VM agreement
- final seven-pair checksums/counters from the exact landed binary
- small conventional commit pushed directly to main under the configured user, no trailers