mirror of
https://github.com/tc39/test262.git
synced 2025-07-26 23:44:27 +02:00
Atomics: features fixes, harness features, etc.
This commit is contained in:
parent
c5527b6d16
commit
5ebd632d8f
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.add
|
esid: sec-atomics.add
|
||||||
description: Test Atomics.add on arrays that allow atomic operations.
|
description: Test Atomics.add on arrays that allow atomic operations.
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.and
|
esid: sec-atomics.and
|
||||||
description: Test Atomics.and on arrays that allow atomic operations
|
description: Test Atomics.and on arrays that allow atomic operations
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.compareexchange
|
esid: sec-atomics.compareexchange
|
||||||
description: Test Atomics.compareExchange on arrays that allow atomic operations.
|
description: Test Atomics.compareExchange on arrays that allow atomic operations.
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.exchange
|
esid: sec-atomics.exchange
|
||||||
description: Test Atomics.exchange on arrays that allow atomic operations.
|
description: Test Atomics.exchange on arrays that allow atomic operations.
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.islockfree
|
esid: sec-atomics.islockfree
|
||||||
description: >
|
description: >
|
||||||
Test isLockFree on various non-intuitive arguments
|
Test isLockFree on various non-intuitive arguments
|
||||||
features: [arrow-function, Atomics]
|
features: [arrow-function, Atomics, SharedArrayBuffer, ArrayBuffer, DataView, BigInt, let, TypedArray, for-of]
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.load
|
esid: sec-atomics.load
|
||||||
description: Test Atomics.load on arrays that allow atomic operations.
|
description: Test Atomics.load on arrays that allow atomic operations.
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.or
|
esid: sec-atomics.or
|
||||||
description: Test Atomics.or on arrays that allow atomic operations
|
description: Test Atomics.or on arrays that allow atomic operations
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.sub
|
esid: sec-atomics.sub
|
||||||
description: Test Atomics.sub on arrays that allow atomic operations
|
description: Test Atomics.sub on arrays that allow atomic operations
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to Add operation
|
Waiter does not spuriously wake on index which is subject to Add operation
|
||||||
includes: [atomicsHelper.js]
|
includes: [atomicsHelper.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to And operation
|
Waiter does not spuriously wake on index which is subject to And operation
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to compareExchange operation
|
Waiter does not spuriously wake on index which is subject to compareExchange operation
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to exchange operation
|
Waiter does not spuriously wake on index which is subject to exchange operation
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to Or operation
|
Waiter does not spuriously wake on index which is subject to Or operation
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Demonstrates that Atomics.store(...) is causing a waiting
|
Demonstrates that Atomics.store(...) is causing a waiting
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to Sub operation
|
Waiter does not spuriously wake on index which is subject to Sub operation
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to xor operation
|
Waiter does not spuriously wake on index which is subject to xor operation
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
const i64a = new BigInt64Array(
|
const i64a = new BigInt64Array(
|
||||||
|
@ -19,7 +19,7 @@ info: |
|
|||||||
a. If typeName is not "Int32Array" or "BigInt64Array",
|
a. If typeName is not "Int32Array" or "BigInt64Array",
|
||||||
throw a TypeError exception.
|
throw a TypeError exception.
|
||||||
|
|
||||||
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wait
|
|||||||
description: >
|
description: >
|
||||||
Waiter does not spuriously wake on index which is subject to Add operation
|
Waiter does not spuriously wake on index which is subject to Add operation
|
||||||
includes: [atomicsHelper.js]
|
includes: [atomicsHelper.js]
|
||||||
features: [Atomics, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
const TIMEOUT = 2000;
|
const TIMEOUT = 2000;
|
||||||
|
@ -45,7 +45,7 @@ const i32a = new Int32Array(
|
|||||||
$262.agent.broadcast(i32a.buffer);
|
$262.agent.broadcast(i32a.buffer);
|
||||||
$262.agent.sleep(100); // halfway through timeout
|
$262.agent.sleep(100); // halfway through timeout
|
||||||
|
|
||||||
// wake at index 0
|
// wake at index 0, undefined => 0
|
||||||
assert.sameValue(
|
assert.sameValue(
|
||||||
Atomics.wake(i32a, undefined, 1),
|
Atomics.wake(i32a, undefined, 1),
|
||||||
1,
|
1,
|
||||||
@ -54,10 +54,10 @@ assert.sameValue(
|
|||||||
assert.sameValue(getReport(), 'ok', 'getReport() returns "ok"');
|
assert.sameValue(getReport(), 'ok', 'getReport() returns "ok"');
|
||||||
|
|
||||||
|
|
||||||
// wake again at index 0
|
// wake again at index 0, default => 0
|
||||||
assert.sameValue(
|
assert.sameValue(
|
||||||
Atomics.wake(i32a /* default values used */),
|
Atomics.wake(i32a /*, default values used */),
|
||||||
1,
|
1,
|
||||||
'Atomics.wake(i32a) returns 1'
|
'Atomics.wake(i32a /*, default values used */) returns 1'
|
||||||
);
|
);
|
||||||
assert.sameValue(getReport(), 'ok', 'getReport() returns "ok"');
|
assert.sameValue(getReport(), 'ok', 'getReport() returns "ok"');
|
||||||
|
@ -6,7 +6,7 @@ esid: sec-atomics.wake
|
|||||||
description: >
|
description: >
|
||||||
Test that Atomics.wake wakes zero waiters if the count is NaN
|
Test that Atomics.wake wakes zero waiters if the count is NaN
|
||||||
includes: [testAtomics.js]
|
includes: [testAtomics.js]
|
||||||
features: [Atomics, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
$262.agent.start(`
|
$262.agent.start(`
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
esid: sec-atomics.xor
|
esid: sec-atomics.xor
|
||||||
description: Test Atomics.xor on arrays that allow atomic operations
|
description: Test Atomics.xor on arrays that allow atomic operations
|
||||||
includes: [testAtomics.js, testBigIntTypedArray.js]
|
includes: [testAtomics.js, testBigIntTypedArray.js]
|
||||||
features: [ArrayBuffer, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let, SharedArrayBuffer, TypedArray]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var sab = new SharedArrayBuffer(1024);
|
var sab = new SharedArrayBuffer(1024);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user