Add SharedArrayBuffer support (#4689)

JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
Gergo Csizi
2021-07-23 17:29:06 +02:00
committed by GitHub
parent bbf1c0105b
commit d9360f51d0
28 changed files with 1050 additions and 337 deletions
+1
View File
@@ -30,6 +30,7 @@ var builtin_objects = [
ReferenceError,
RegExp,
Set,
SharedArrayBuffer,
String,
Symbol,
SyntaxError,
@@ -45,6 +45,17 @@ assert (Object.prototype.toString.call (new ArrayBuffer ()) === "[object myStrin
ArrayBuffer.prototype[Symbol.toStringTag] = {};
assert (ArrayBuffer.prototype.toString.call (new ArrayBuffer ()) === "[object Object]");
/* SharedArrayBuffer.prototype @@toStringTag */
assert (SharedArrayBuffer.prototype[Symbol.toStringTag] === "SharedArrayBuffer");
assert (Object.prototype.toString.call (new SharedArrayBuffer ()) === "[object SharedArrayBuffer]");
assert (delete SharedArrayBuffer.prototype[Symbol.toStringTag]);
assert (SharedArrayBuffer.prototype[Symbol.toStringTag] === undefined);
SharedArrayBuffer.prototype[Symbol.toStringTag] = "myStringTag3";
assert (Object.prototype.toString.call (new SharedArrayBuffer ()) === "[object myStringTag3]");
SharedArrayBuffer.prototype[Symbol.toStringTag] = {};
assert (SharedArrayBuffer.prototype.toString.call (new SharedArrayBuffer ()) === "[object Object]");
/* Promise.prototype @@toStringTag */
assert (Promise.prototype[Symbol.toStringTag] === "Promise");
assert (Object.prototype.toString.call (new Promise (function () {})) === "[object Promise]");
+7 -3
View File
@@ -113,22 +113,26 @@ var l = new BigUint64Array([1n, 2n, 3n, 4n, 5n]);
assert(l.fill(-18446744073709551614n, 3, 5).toString() === '1,2,3,2,2');
assert(l.fill(18446744073709551614n, 4).toString() === '1,2,3,2,18446744073709551614');
var cd = new SharedArrayBuffer(4);
var u8array = new Uint8Array(cd);
assert(u8array.fill(0).toString() === '0,0,0,0');
var invalid = {
valueOf: function() {
throw new Error();
}
};
var m = new BigInt64Array();
var n = new BigInt64Array();
try {
m.fill(1n, invalid);
n.fill(1n, invalid);
assert(false)
} catch (e) {
assert(e instanceof Error);
}
try {
m.fill(1n, 0, invalid);
n.fill(1n, 0, invalid);
assert(false)
} catch (e) {
assert(e instanceof Error);
@@ -46,3 +46,20 @@ assert(c.subarray(4, 1).toString() === '');
assert(c.subarray(-1, -4).toString() === '');
assert(c.subarray(1).subarray(1).toString() === '3,4,5');
assert(c.subarray(1, 4).subarray(1, 2).toString() === '3');
var cd = new SharedArrayBuffer(28);
tmp = new Int32Array(cd);
tmp.set([0, 1, 2, 3, 4, 5, 0]);
var d = new Int32Array(cd, 4, 5);
assert(d.subarray().toString() === '1,2,3,4,5');
assert(d.subarray(3).toString() === '4,5');
assert(d.subarray(1, 3).toString() === '2,3');
assert(d.subarray(1, 3).toString() === '2,3');
assert(d.subarray(-3).toString() === '3,4,5');
assert(d.subarray(-3, -1).toString() === '3,4');
assert(d.subarray(3, 2).toString() === '');
assert(d.subarray(-2, -3).toString() === '');
assert(d.subarray(4, 1).toString() === '');
assert(d.subarray(-1, -4).toString() === '');
assert(d.subarray(1).subarray(1).toString() === '3,4,5');
assert(d.subarray(1, 4).subarray(1, 2).toString() === '3');
-159
View File
@@ -5514,8 +5514,6 @@
features: [SharedArrayBuffer]
https://github.com/tc39/ecmascript_sharedmem
-->
<test id="built-ins/ArrayBuffer/prototype/byteLength/this-is-sharedarraybuffer.js"><reason></reason></test>
<test id="built-ins/ArrayBuffer/prototype/slice/this-is-sharedarraybuffer.js"><reason></reason></test>
<test id="built-ins/Atomics/add/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/add/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/add/bigint/good-views.js"><reason></reason></test>
@@ -5746,161 +5744,8 @@
<test id="built-ins/Atomics/xor/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/non-views.js"><reason></reason></test>
<test id="built-ins/DataView/buffer-does-not-have-arraybuffer-data-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/buffer-reference-sab.js"><reason></reason></test>
<test id="built-ins/DataView/byteoffset-is-negative-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/custom-proto-access-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/custom-proto-if-not-object-fallbacks-to-default-prototype-sab.js"><reason></reason></test>
<test id="built-ins/DataView/custom-proto-if-object-is-used-sab.js"><reason></reason></test>
<test id="built-ins/DataView/defined-bytelength-and-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/defined-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/defined-byteoffset-undefined-bytelength-sab.js"><reason></reason></test>
<test id="built-ins/DataView/excessive-bytelength-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/excessive-byteoffset-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/instance-extensibility-sab.js"><reason></reason></test>
<test id="built-ins/DataView/negative-bytelength-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/negative-byteoffset-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/newtarget-undefined-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/buffer/return-buffer-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/buffer/this-has-no-dataview-internal-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteLength/return-bytelength-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteLength/this-has-no-dataview-internal-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteOffset/return-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteOffset/this-has-no-dataview-internal-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/index-is-out-of-range-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/negative-byteoffset-throws-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/return-abrupt-from-tonumber-byteoffset-symbol-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/return-value-clean-arraybuffer-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/return-values-custom-offset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/return-values-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/this-has-no-dataview-internal-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/to-boolean-littleendian-sab.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/getInt32/toindex-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/return-abrupt-tonumber-bytelength-sab.js"><reason></reason></test>
<test id="built-ins/DataView/return-abrupt-tonumber-bytelength-symbol-sab.js"><reason></reason></test>
<test id="built-ins/DataView/return-abrupt-tonumber-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/DataView/return-abrupt-tonumber-byteoffset-symbol-sab.js"><reason></reason></test>
<test id="built-ins/DataView/return-instance-sab.js"><reason></reason></test>
<test id="built-ins/DataView/toindex-bytelength-sab.js"><reason></reason></test>
<test id="built-ins/DataView/toindex-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/allocation-limit.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/data-allocation-after-object-creation.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/init-zero.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/length-is-absent.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/length-is-too-large-throws.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/negative-length-throws.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/newtarget-prototype-is-not-object.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/proto-from-ctor-realm.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype-from-newtarget.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/Symbol.toStringTag.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-accessor.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/invoked-as-func.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/name.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/prop-desc.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/return-bytelength.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/this-has-no-typedarrayname-internal.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/this-is-arraybuffer.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/byteLength/this-is-not-object.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/constructor.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/context-is-not-arraybuffer-object.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/context-is-not-object.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/descriptor.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/end-default-if-absent.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/end-default-if-undefined.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/end-exceeds-length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/extensible.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/name.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/negative-end.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/negative-start.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/nonconstructor.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/number-conversion.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-not-object.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-constructor-is-undefined.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-is-not-constructor.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-is-not-object.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-is-null.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-is-undefined.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-returns-larger-arraybuffer.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-returns-not-arraybuffer.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-returns-same-arraybuffer.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species-returns-smaller-arraybuffer.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/species.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/start-default-if-absent.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/start-default-if-undefined.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-end.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/start-exceeds-length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/this-is-arraybuffer.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-end.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/prototype/slice/tointeger-conversion-start.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/return-abrupt-from-length-symbol.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/return-abrupt-from-length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/toindex-length.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/undefined-newtarget-throws.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/zero-length.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-set-values-diff-buffer-other-type-sab.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-set-values-diff-buffer-same-type-sab.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/BigInt/typedarray-arg-set-values-same-buffer-same-type-sab.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-conversions-sab.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-other-type-sab.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/typedarray-arg-set-values-diff-buffer-same-type-sab.js"><reason></reason></test>
<test id="built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-same-type-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/bufferbyteoffset-throws-from-modulo-element-size-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/byteoffset-is-negative-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/byteoffset-is-negative-zero-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/byteoffset-is-symbol-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/byteoffset-throws-from-modulo-element-size-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/byteoffset-to-number-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/custom-proto-access-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/defined-length-and-offset-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/defined-length-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/defined-negative-length-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/defined-offset-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/excessive-length-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/excessive-offset-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/invoked-with-undefined-newtarget-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/is-referenced-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/length-access-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/length-is-symbol-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/new-instance-extensibility-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/returns-new-instance-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/toindex-bytelength-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/toindex-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/typedarray-backed-by-sharedarraybuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/use-custom-proto-if-object-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/use-default-proto-if-custom-proto-is-not-object-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/bufferbyteoffset-throws-from-modulo-element-size-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-is-negative-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-is-negative-zero-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-is-symbol-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-throws-from-modulo-element-size-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/byteoffset-to-number-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/custom-proto-access-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/defined-length-and-offset-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/defined-length-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/defined-negative-length-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/defined-offset-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/excessive-length-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/excessive-offset-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/invoked-with-undefined-newtarget-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/is-referenced-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/length-access-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/length-is-symbol-throws-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/new-instance-extensibility-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/returns-new-instance-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/toindex-bytelength-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/toindex-byteoffset-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/typedarray-backed-by-sharedarraybuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/use-custom-proto-if-object-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/use-default-proto-if-custom-proto-is-not-object-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/BigInt/indexed-value-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/internals/Get/indexed-value-sab.js"><reason></reason></test>
<!-- END - ES2017: Shared Memory and Atomics -->
<!-- ES2018: RegExp Lookbehind Assertions
@@ -8282,13 +8127,9 @@
<test id="built-ins/Atomics/waitAsync/value-not-equal-agent.js"><reason></reason></test>
<test id="built-ins/Atomics/waitAsync/waiterlist-block-indexedposition-wake.js"><reason></reason></test>
<test id="built-ins/Atomics/waitAsync/was-woken-before-timeout.js"><reason></reason></test>
<test id="built-ins/DataView/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js"><reason></reason></test>
<test id="built-ins/FinalizationRegistry/proto-from-ctor-realm.js"><reason></reason></test>
<test id="built-ins/Function/internals/Call/class-ctor-realm.js"><reason></reason></test>
<test id="built-ins/SharedArrayBuffer/proto-from-ctor-realm.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors-bigint/buffer-arg/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/proto-from-ctor-realm-sab.js"><reason></reason></test>
<test id="intl402/Collator/proto-from-ctor-realm.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/proto-from-ctor-realm.js"><reason></reason></test>
<test id="intl402/DisplayNames/proto-from-ctor-realm.js"><reason></reason></test>