Skip to content

Commit e7979fd

Browse files
sygljharb
authored andcommitted
Normative: remove Symbol.species from InitializeTypedArrayFromTypedArray (#2719)
Closes #2677
1 parent 22cc56a commit e7979fd

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

spec.html

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39079,8 +39079,7 @@ <h1>
3907939079
1. Else, let _same_ be SameValue(_srcBuffer_, _targetBuffer_).
3908039080
1. If _same_ is *true*, then
3908139081
1. Let _srcByteLength_ be _source_.[[ByteLength]].
39082-
1. Set _srcBuffer_ to ? <emu-meta suppress-effects="user-code">CloneArrayBuffer(_srcBuffer_, _srcByteOffset_, _srcByteLength_, %ArrayBuffer%)</emu-meta>.
39083-
1. NOTE: %ArrayBuffer% is used to clone _srcBuffer_ because is it known to not have any observable side-effects.
39082+
1. Set _srcBuffer_ to ? CloneArrayBuffer(_srcBuffer_, _srcByteOffset_, _srcByteLength_).
3908439083
1. Let _srcByteIndex_ be 0.
3908539084
1. Else, let _srcByteIndex_ be _srcByteOffset_.
3908639085
1. Let _targetByteIndex_ be _targetOffset_ &times; _targetElementSize_ + _targetByteOffset_.
@@ -39494,15 +39493,10 @@ <h1>
3949439493
1. Let _srcByteOffset_ be _srcArray_.[[ByteOffset]].
3949539494
1. Let _elementLength_ be _srcArray_.[[ArrayLength]].
3949639495
1. Let _byteLength_ be _elementSize_ &times; _elementLength_.
39497-
1. If IsSharedArrayBuffer(_srcData_) is *false*, then
39498-
1. Let _bufferConstructor_ be ? SpeciesConstructor(_srcData_, %ArrayBuffer%).
39499-
1. Else,
39500-
1. Let _bufferConstructor_ be %ArrayBuffer%.
3950139496
1. If _elementType_ is the same as _srcType_, then
39502-
1. Let _data_ be ? CloneArrayBuffer(_srcData_, _srcByteOffset_, _byteLength_, _bufferConstructor_).
39497+
1. Let _data_ be ? CloneArrayBuffer(_srcData_, _srcByteOffset_, _byteLength_).
3950339498
1. Else,
39504-
1. Let _data_ be ? AllocateArrayBuffer(_bufferConstructor_, _byteLength_).
39505-
1. If IsDetachedBuffer(_srcData_) is *true*, throw a *TypeError* exception.
39499+
1. Let _data_ be ? <emu-meta suppress-effects="user-code">AllocateArrayBuffer(%ArrayBuffer%, _byteLength_)</emu-meta>.
3950639500
1. If _srcArray_.[[ContentType]] &ne; _O_.[[ContentType]], throw a *TypeError* exception.
3950739501
1. Let _srcByteIndex_ be _srcByteOffset_.
3950839502
1. Let _targetByteIndex_ be 0.
@@ -40670,16 +40664,15 @@ <h1>
4067040664
_srcBuffer_: an ArrayBuffer or a SharedArrayBuffer,
4067140665
_srcByteOffset_: a non-negative integer,
4067240666
_srcLength_: a non-negative integer,
40673-
_cloneConstructor_: a constructor,
4067440667
): either a normal completion containing an ArrayBuffer or an abrupt completion
4067540668
</h1>
4067640669
<dl class="header">
4067740670
<dt>description</dt>
4067840671
<dd>It creates a new ArrayBuffer whose data is a copy of _srcBuffer_'s data over the range starting at _srcByteOffset_ and continuing for _srcLength_ bytes.</dd>
4067940672
</dl>
4068040673
<emu-alg>
40681-
1. Let _targetBuffer_ be ? AllocateArrayBuffer(_cloneConstructor_, _srcLength_).
40682-
1. If IsDetachedBuffer(_srcBuffer_) is *true*, throw a *TypeError* exception.
40674+
1. Assert: IsDetachedBuffer(_srcBuffer_) is *false*.
40675+
1. Let _targetBuffer_ be ? <emu-meta suppress-effects="user-code">AllocateArrayBuffer(%ArrayBuffer%, _srcLength_)</emu-meta>.
4068340676
1. Let _srcBlock_ be _srcBuffer_.[[ArrayBufferData]].
4068440677
1. Let _targetBlock_ be _targetBuffer_.[[ArrayBufferData]].
4068540678
1. Perform CopyDataBlockBytes(_targetBlock_, 0, _srcBlock_, _srcByteOffset_, _srcLength_).

0 commit comments

Comments
 (0)