Use dedicated Packed branches in GetByValue and PutByValue so in-bounds indexed accesses can skip hole checks and slot reloads. Keep Holey writes on the guarded arm, and keep append writes on the C++ slow path so PutByValue still respects non-extensible indexed objects and arrays with a non-writable length. Add a bytecode regression that exercises both append failure cases through the real js binary path. |
||
|---|---|---|
| .. | ||
| expected | ||
| input | ||
| output | ||