diff --git a/features.txt b/features.txt index 14b5d1ccbd5..e40d8733559 100644 --- a/features.txt +++ b/features.txt @@ -248,6 +248,10 @@ json-modules # https://github.com/tc39/proposal-resizablearraybuffer resizable-arraybuffer +# ArrayBuffer transfer +# https://github.com/tc39/proposal-arraybuffer-transfer +arraybuffer-transfer + # Temporal # https://github.com/tc39/proposal-temporal Temporal diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js b/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js index a2c5825dc9d..0d0f301815b 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js @@ -12,7 +12,7 @@ info: | Annex B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified. includes: [propertyHelper.js] -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ verifyProperty(ArrayBuffer.prototype, 'transfer', { diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js b/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js index 7d416e8be9a..f47fe252ef5 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js @@ -9,7 +9,7 @@ info: | 17 ECMAScript Standard Built-in Objects: Unless specified otherwise, the [[Extensible]] internal slot of a built-in object initially has the value true. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ assert(Object.isExtensible(ArrayBuffer.prototype.transfer)); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js index 7f113d7121e..e813c665adf 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js @@ -24,7 +24,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js index c8c00e0a8bc..437d59408b1 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js @@ -26,7 +26,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js index db315d5ab05..bca19405456 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js @@ -24,7 +24,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js index c6ca1074263..e9daf47a65d 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js @@ -24,7 +24,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js index 592e4db7c09..03a7f8a262d 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js @@ -24,7 +24,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4, { maxByteLength: 8 }); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js index 84213897ae8..5c60b1864ab 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js @@ -26,7 +26,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4, { maxByteLength: 8 }); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js index 69855f9c333..7c5f61e9eba 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js @@ -24,7 +24,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4, { maxByteLength: 8 }); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js index 511026d7d13..236aa3c48b1 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js @@ -24,7 +24,7 @@ info: | this method as a zero-copy move or a realloc. 14. Perform ! DetachArrayBuffer(O). 15. Return new. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var source = new ArrayBuffer(4, { maxByteLength: 8 }); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/length.js b/test/built-ins/ArrayBuffer/prototype/transfer/length.js index 20be10747b9..febb6bc8da0 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/length.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/length.js @@ -19,7 +19,7 @@ info: | object has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ verifyProperty(ArrayBuffer.prototype.transfer, 'length', { diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/name.js b/test/built-ins/ArrayBuffer/prototype/transfer/name.js index 2b74705b964..eef01e890a8 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/name.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/name.js @@ -15,7 +15,7 @@ info: | Unless otherwise specified, the name property of a built-in Function object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] includes: [propertyHelper.js] ---*/ diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js b/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js index a9f74393631..6c0aa32896c 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js @@ -17,7 +17,7 @@ info: | 6. Else, let newByteLength be ? ToIntegerOrInfinity(newLength). 7. Let new be ? Construct(%ArrayBuffer%, « 𝔽(newByteLength) »). [...] -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var ab = new ArrayBuffer(0); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js b/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js index bceb755110a..14f345d1e52 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js @@ -14,7 +14,7 @@ info: | O.[[ArrayBufferByteLength]]. 6. Else, let newByteLength be ? ToIntegerOrInfinity(newLength). [...] -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ var log = []; diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js b/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js index 1df9c20bfcd..b9632c6086f 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js @@ -11,7 +11,7 @@ info: | Built-in function objects that are not identified as constructors do not implement the [[Construct]] internal method unless otherwise specified in the description of a particular function. -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ assert.sameValue( diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js b/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js index 430f1807808..2f107cf6fa1 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js @@ -13,7 +13,7 @@ info: | 4. If IsDetachedBuffer(O) is true, throw a TypeError exception. [...] includes: [detachArrayBuffer.js] -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ assert.sameValue(typeof ArrayBuffer.prototype.transfer, 'function'); diff --git a/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js b/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js index 571bd1b2089..fa7b672c387 100644 --- a/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js +++ b/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js @@ -10,7 +10,7 @@ info: | 1. Let O be the this value. 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). [...] -features: [resizable-arraybuffer] +features: [resizable-arraybuffer, arraybuffer-transfer] ---*/ assert.sameValue(typeof ArrayBuffer.prototype.transfer, 'function');