arai-a / smoosh-sync

Automation to make jsparagus and SpiderMonkey bytecode in sync
2 stars 0 forks source link

/js/src/vm/Opcodes.h has been updated (86b58aa0) #312

Closed github-actions[bot] closed 1 year ago

github-actions[bot] commented 1 year ago

Files

Changesets

Diffs

/js/src/vm/Opcodes.h

--- dabe9a3dd556302ca57c1791fe4b327df3deb8b1/js/src/vm/Opcodes.h
+++ 86b58aa0124b1eda1360fafaf55ee17d27b7fa20/js/src/vm/Opcodes.h
@@ -1508,17 +1508,18 @@
      * `index` are still incremented.
      *
      * This never calls setters or proxy traps.
      *
      * `array` must be an Array object created by `JSOp::NewArray` and never used
      * except by `JSOp::InitElemArray` and `JSOp::InitElemInc`.
      *
      * `index` must be an integer, `0 <= index <= INT32_MAX`. If `index` is
-     * `INT32_MAX`, this throws a RangeError.
+     * `INT32_MAX`, this throws a RangeError. Unlike `InitElemArray`, it is not
+     * necessary that the `array` length > `index`.
      *
      * This instruction is used when an array literal contains a
      * *SpreadElement*. In `[a, ...b, c]`, `InitElemArray 0` is used to put
      * `a` into the array, but `InitElemInc` is used for the elements of `b`
      * and for `c`.
      *
      * Implements: Several steps in [ArrayAccumulation][1] that call
      * CreateDataProperty, set the array length, and/or increment *nextIndex*.