You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The definitions of Integer-Indexed exotic objects and TypedArrays and certain operations associated with each include lists of slots, but these lists are inconsistent.
Integer-Indexed exotic objects have the same internal slots as ordinary objects and additionally [[ViewedArrayBuffer]], [[ArrayLength]], [[ByteOffset]], [[ContentType]], and [[TypedArrayName]] internal slots.
Each TypedArray instance has the following internal slots: [[TypedArrayName]], [[ViewedArrayBuffer]], [[ByteLength]], [[ByteOffset]], and [[ArrayLength]].
There are six associated slots in total. Only the AllocateTypedArray operation lists all six. It’s also the only one where the list is ‘for real’ rather than occurring in an assertion or outside of algorithmic text.
As far as I can tell, all TypedArray instances are Integer-Indexed exotic objects and vice versa, and they are all created with AllocateTypedArray, so all such objects would have all six slots. Is there significance to the omission of some slots from some of these lists, or should they be uniform?
Recap:
Slot
IIEO Def
IIOC Op
ATA Op
TA Instance Def
[[ArrayLength]]
yes
yes
yes
yes
[[ByteLength]]
-
-
yes
yes
[[ByteOffset]]
yes
yes
yes
yes
[[ContentType]]
yes
yes
yes
-
[[TypedArrayName]]
yes
yes
yes
yes
[[ViewedArrayBuffer]]
yes
yes
yes
yes
The text was updated successfully, but these errors were encountered:
Since writing this, there have been changes (#1460) which alter the table originally provided above and fixed some of the discrepancies. The “IIOC op” column is fixed and the “ATA op” column is moot because IntegerIndexedObjectCreate no longer takes a slots argument and instead has a fixed list inlined (which does include [[ByteLength]]).
The other two cases remain: “Integer-Indexed Exotic Objects” still omits [[ByteLength]] and “Properties of TypedArray Instances” still omits [[ContentType]].
The definitions of Integer-Indexed exotic objects and TypedArrays and certain operations associated with each include lists of slots, but these lists are inconsistent.
There are six associated slots in total. Only the AllocateTypedArray operation lists all six. It’s also the only one where the list is ‘for real’ rather than occurring in an assertion or outside of algorithmic text.
As far as I can tell, all TypedArray instances are Integer-Indexed exotic objects and vice versa, and they are all created with AllocateTypedArray, so all such objects would have all six slots. Is there significance to the omission of some slots from some of these lists, or should they be uniform?
Recap:
The text was updated successfully, but these errors were encountered: