Parent: #498 Related: #1045, #1046, #493
Problem
VM get_index / set_index specialize dense Arrays and primitive-Number TypedArray keys, but numeric access to mapped and unmapped arguments objects still allocates a property-key string and re-enters generic indexed-property dispatch. Primitive Number keys have no observable key coercion, while the arguments object already exposes atomic mapping helpers and synchronized dense-element operations.
A pre-fix VM witness matches Node for sloppy parameter aliasing in both directions, mapping severance after delete/redefinition, strict unmapped arguments, numeric -0, negative named properties, object-key coercion, and indexed accessors. Both test-only arguments fast-hit counts remain zero.
Scope
- Add guarded VM numeric
get_indexandset_indexpaths for direct arguments objects. - Preserve live sloppy parameter mapping, strict/unmapped behavior, delete/redefinition severance, indexed accessors/attributes, holes, and restriction checks.
- Keep string, Symbol, object, invalid numeric, sparse, and prototype-observable cases on full property semantics.
- Use existing atomic mapping and synchronized dense-element helpers; do not duplicate arguments semantics.
- Update the source-derived quickening inventory and generated architecture page.
Acceptance
- The pre-fix witness changes both read and store counters from zero to positive with identical Node results.
- Mapped/unmapped, severed mapping, numeric
-0, negative/object keys, and accessor overrides are pinned. - Focused normal and unsuppressed TSan tests pass.
- Quickening inventory, benchmark-validator, docs-manifest, and offline-link gates pass.
- No key-source recognizer, generic fallback bypass, or unsynchronized mapping/element access.