diff --git a/features.txt b/features.txt index 14b5d1ccbd..e40d873355 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 a2c5825dc9..0d0f301815 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 7d416e8be9..f47fe252ef 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 7f113d7121..e813c665ad 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 c8c00e0a8b..437d59408b 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 db315d5ab0..bca1940545 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 c6ca107426..e9daf47a65 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 592e4db7c0..03a7f8a262 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 84213897ae..5c60b1864a 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 69855f9c33..7c5f61e9eb 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 511026d7d1..236aa3c48b 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 20be10747b..febb6bc8da 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 2b74705b96..eef01e890a 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 a9f7439363..6c0aa32896 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 bceb755110..14f345d1e5 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 1df9c20bfc..b9632c6086 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 430f180780..2f107cf6fa 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 571bd1b208..fa7b672c38 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');