Parent: #498 Related: #1045, #1046, #1047, #493
Measured problem
The VM's primitive-Number get_index shortcut handles packed dense Arrays, but in isolated execution it rejects the entire object as soon as any hole map exists. An executed pre-change witness using [1, , 3] reads the two present elements correctly while the indexed quick-path counter remains unchanged at zero. Both reads therefore allocate/coerce the numeric key and re-enter generic [[Get]] even though the requested own elements are present and have no indexed accessor.
Scope
- Keep primitive numeric reads of present own dense elements quick when unrelated holes exist.
- Retain generic
[[Get]]for the hole itself so inherited indexed properties remain observable. - Preserve exact indexed accessors, Proxy/revocation, invalid numeric keys, restrictions, and no-GIL element synchronization.
- Use the existing hole-aware element accessor; do not add a layout recognizer or duplicate property semantics.
- Update the source-derived quickening inventory and generated architecture page.
Acceptance
- The pre-change zero-hit witness records positive quick-path hits with identical Node results.
- Present elements, the hole, inherited values, indexed accessors, numeric
-0, and invalid numeric keys are pinned. - Focused normal and unsuppressed TSan tests pass.
- Quickening inventory, benchmark-validator, docs-manifest, and offline-link gates pass.
- Sparse named indices and prototype-observable misses remain explicitly generic.