Name Description Size
bad-range.js --- esid: sec-atomics.waitasync description: > Test range checking of Atomics.waitAsync on arrays that allow atomic operations info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) ... 2. Let i be ? ValidateAtomicAccess(typedArray, index). ... includes: [testAtomics.js] features: [Atomics.waitAsync, Atomics, SharedArrayBuffer, ArrayBuffer, DataView, Symbol, TypedArray, BigInt] --- 1172
browser.js 0
false-for-timeout-agent.js --- esid: sec-atomics.waitasync description: > False timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2971
false-for-timeout.js --- esid: sec-atomics.waitasync description: > False timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). flags: [async] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, computed-property-names, Symbol, Symbol.toPrimitive, arrow-function] --- 1986
good-views.js --- esid: sec-atomics.waitasync description: > Test Atomics.waitAsync on arrays that allow atomic operations flags: [async] includes: [atomicsHelper.js, asyncHelpers.js] features: [Atomics.waitAsync, Atomics, BigInt] --- 2250
nan-for-timeout-agent.js --- esid: sec-atomics.waitasync description: > NaN timeout arg should result in an infinite timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 1670
negative-index-throws.js --- esid: sec-atomics.waitasync description: > Throws a RangeError is index < 0 info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray, true). 2. Let i be ? ValidateAtomicAccess(typedArray, index). features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt] --- 1735
negative-timeout-agent.js --- esid: sec-atomics.waitasync description: > Test that Atomics.waitAsync times out with a negative timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 1679
negative-timeout.js --- esid: sec-atomics.waitasync description: > Test that Atomics.waitAsync times out with a negative timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). flags: [async] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, destructuring-binding, arrow-function] --- 1050
no-spurious-wakeup-no-operation.js --- esid: sec-atomics.waitasync description: > Test that Atomics.waitAsync returns the right result when it timed out and that the time to time out is reasonable. info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2372
no-spurious-wakeup-on-add.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to Add operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2359
no-spurious-wakeup-on-and.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to And operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2359
no-spurious-wakeup-on-compareExchange.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to compareExchange operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2387
no-spurious-wakeup-on-exchange.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to exchange operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2369
no-spurious-wakeup-on-or.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to Or operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2357
no-spurious-wakeup-on-store.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to Store operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2368
no-spurious-wakeup-on-sub.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to Sub operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2359
no-spurious-wakeup-on-xor.js --- esid: sec-atomics.waitasync description: > Waiter does not spuriously notify on index which is subject to xor operation info: | AddWaiter ( WL, waiterRecord ) 5. Append waiterRecord as the last element of WL.[[Waiters]] 6. If waiterRecord.[[Timeout]] is finite, then in parallel, a. Wait waiterRecord.[[Timeout]] milliseconds. b. Perform TriggerTimeout(WL, waiterRecord). TriggerTimeout( WL, waiterRecord ) 3. If waiterRecord is in WL.[[Waiters]], then a. Set waiterRecord.[[Result]] to "timed-out". b. Perform RemoveWaiter(WL, waiterRecord). c. Perform NotifyWaiter(WL, waiterRecord). 4. Perform LeaveCriticalSection(WL). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2359
non-bigint64-typedarray-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if typedArray arg is not an BigInt64Array info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray, true). ValidateSharedIntegerTypedArray ( typedArray [ , waitable ] ) 5. If waitable is true, then a. If typeName is not "Int32Array" or "BigInt64Array", throw a TypeError exception. features: [Atomics.waitAsync, Float32Array, Float64Array, Int8Array, TypedArray, Uint16Array, Uint8Array, Uint8ClampedArray, arrow-function, SharedArrayBuffer, Atomics] --- 1523
non-shared-bufferdata-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if typedArray.buffer is not a SharedArrayBuffer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray, true). ValidateSharedIntegerTypedArray ( typedArray [ , waitable ] ) 5. If waitable is true, then a. If typeName is not "BigInt64Array" or "BigInt64Array", throw a TypeError exception. features: [Atomics.waitAsync, ArrayBuffer, Atomics, TypedArray, BigInt, arrow-function] --- 1489
not-a-typedarray-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if the typedArray arg is not a TypedArray object info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray, true). ValidateSharedIntegerTypedArray ( typedArray [ , waitable ] ) 2. Perform ? RequireInternalSlot(typedArray, [[TypedArrayName]]). RequireInternalSlot ( O, internalSlot ) 1. If Type(O) is not Object, throw a TypeError exception. 2. If O does not have an internalSlot internal slot, throw a TypeError exception. features: [Atomics.waitAsync, arrow-function, Atomics] --- 1497
not-an-object-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if typedArray arg is not an Object info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray, true). ValidateSharedIntegerTypedArray ( typedArray [ , waitable ] ) 2. Perform ? RequireInternalSlot(typedArray, [[TypedArrayName]]). RequireInternalSlot ( O, internalSlot ) 1. If Type(O) is not Object, throw a TypeError exception. 2. If O does not have an internalSlot internal slot, throw a TypeError exception. features: [Atomics.waitAsync, Symbol, arrow-function, Atomics] --- 2562
null-bufferdata-throws.js --- esid: sec-atomics.waitasync description: > A null value for bufferData throws a TypeError info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray, true). ValidateSharedIntegerTypedArray ( typedArray [ , waitable ] ) 2. Perform ? RequireInternalSlot(typedArray, [[TypedArrayName]]). RequireInternalSlot ( O, internalSlot ) 1. If Type(O) is not Object, throw a TypeError exception. 2. If O does not have an internalSlot internal slot, throw a TypeError exception. includes: [detachArrayBuffer.js] features: [Atomics.waitAsync, ArrayBuffer, Atomics, TypedArray, BigInt] --- 1728
null-for-timeout-agent.js --- esid: sec-atomics.waitasync description: > null timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Null -> Return +0. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2990
null-for-timeout.js --- esid: sec-atomics.waitasync description: > null timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Null -> Return +0. features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, computed-property-names, Atomics, BigInt, arrow-function] --- 1531
object-for-timeout-agent.js --- esid: sec-atomics.waitasync description: > Object valueOf, toString, toPrimitive Zero timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Object -> Apply the following steps: Let primValue be ? ToPrimitive(argument, hint Number). Return ? ToNumber(primValue). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 3214
object-for-timeout.js --- esid: sec-atomics.waitasync description: > Object valueOf, toString, toPrimitive Zero timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Object -> Apply the following steps: Let primValue be ? ToPrimitive(argument, hint Number). Return ? ToNumber(primValue). features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, computed-property-names, Atomics, BigInt, arrow-function] flags: [async] --- 2222
out-of-range-index-throws.js --- esid: sec-atomics.waitasync description: > Throws a RangeError if value of index arg is out of range info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 2. Let i be ? ValidateAtomicAccess(typedArray, index). ... 2.Let accessIndex be ? ToIndex(requestIndex). ... 5. If accessIndex ≥ length, throw a RangeError exception. features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt] --- 1804
poisoned-object-for-timeout-throws-agent.js --- esid: sec-atomics.waitasync description: > False timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Let primValue be ? ToPrimitive(argument, hint Number). Return ? ToNumber(primValue). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2497
poisoned-object-for-timeout-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if index arg can not be converted to an Integer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Let primValue be ? ToPrimitive(argument, hint Number). Return ? ToNumber(primValue). features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, computed-property-names, Atomics, BigInt] --- 1598
shell.js 0
symbol-for-index-throws-agent.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if index arg can not be converted to an Integer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 2. Let i be ? ValidateAtomicAccess(typedArray, index). ValidateAtomicAccess( typedArray, requestIndex ) 2. Let accessIndex be ? ToIndex(requestIndex). ToIndex ( value ) 2. Else, a. Let integerIndex be ? ToInteger(value). ToInteger(value) 1. Let number be ? ToNumber(argument). Symbol --> Throw a TypeError exception. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2784
symbol-for-index-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if index arg can not be converted to an Integer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 2. Let i be ? ValidateAtomicAccess(typedArray, index). ValidateAtomicAccess( typedArray, requestIndex ) 2. Let accessIndex be ? ToIndex(requestIndex). ToIndex ( value ) 2. Else, a. Let integerIndex be ? ToInteger(value). ToInteger(value) 1. Let number be ? ToNumber(argument). Symbol --> Throw a TypeError exception. features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, computed-property-names, Atomics, BigInt] --- 2395
symbol-for-timeout-throws-agent.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if index arg can not be converted to an Integer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Symbol --> Throw a TypeError exception. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2201
symbol-for-timeout-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if index arg can not be converted to an Integer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Symbol --> Throw a TypeError exception. features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, computed-property-names, Atomics, BigInt] --- 1897
symbol-for-value-throws-agent.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if value arg is a Symbol info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 5. Otherwise, let v be ? ToInt32(value). ToInt32(value) 1.Let number be ? ToNumber(argument). Symbol --> Throw a TypeError exception. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2566
symbol-for-value-throws.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if value arg is a Symbol info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 5. Otherwise, let v be ? ToInt32(value). ToInt32(value) 1.Let number be ? ToNumber(argument). Symbol --> Throw a TypeError exception. features: [Atomics.waitAsync, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray, computed-property-names, Atomics, BigInt] --- 2067
true-for-timeout-agent.js --- esid: sec-atomics.waitasync description: > True timeout arg should result in an +0 timeout info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2281
true-for-timeout.js --- esid: sec-atomics.waitasync description: > Throws a TypeError if index arg can not be converted to an Integer info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). Boolean -> If argument is true, return 1. If argument is false, return +0. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, computed-property-names, Symbol, Symbol.toPrimitive, arrow-function] --- 1943
undefined-for-timeout-agent.js --- esid: sec-atomics.waitasync description: > Undefined timeout arg is coerced to zero info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). ... Undefined Return NaN. 5.If q is NaN, let t be +∞, else let t be max(q, 0) flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2448
undefined-for-timeout.js --- esid: sec-atomics.waitasync description: > Undefined timeout arg is coerced to zero info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 6. Let q be ? ToNumber(timeout). ... Undefined Return NaN. 5.If q is NaN, let t be +∞, else let t be max(q, 0) flags: [async] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, computed-property-names, Symbol, Symbol.toPrimitive, arrow-function] --- 1687
undefined-index-defaults-to-zero-agent.js --- esid: sec-atomics.waitasync description: > Undefined index arg is coerced to zero info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 2. Let i be ? ValidateAtomicAccess(typedArray, index). ... 2.Let accessIndex be ? ToIndex(requestIndex). 9.If IsSharedArrayBuffer(buffer) is false, throw a TypeError exception. ... 3.If bufferData is a Data Block, return false If value is undefined, then Let index be 0. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2566
value-not-equal-agent.js --- esid: sec-atomics.waitasync description: > Returns "not-equal" when value arg does not match an index in the typedArray info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 16. Let w be ! AtomicLoad(typedArray, i). 17. If v is not equal to w, then a. Perform LeaveCriticalSection(WL). b. If mode is sync, then i. Return the String "not-equal". c. Perform ! Call(capability.[[Resolve]], undefined, « "not-equal" »). d. Return promiseCapability.[[Promise]]. flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2212
value-not-equal.js --- esid: sec-atomics.waitasync description: > Returns "not-equal" when value arg does not match an index in the typedArray info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 16. Let w be ! AtomicLoad(typedArray, i). 17. If v is not equal to w, then a. Perform LeaveCriticalSection(WL). b. If mode is sync, then i. Return the String "not-equal". c. Perform ! Call(capability.[[Resolve]], undefined, « "not-equal" »). d. Return promiseCapability.[[Promise]]. flags: [async] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, BigInt, computed-property-names, Symbol, Symbol.toPrimitive, Atomics, arrow-function] --- 1613
waiterlist-block-indexedposition-wake.js --- esid: sec-atomics.waitasync description: > Get the correct WaiterList info: | Atomics.waitAsync( typedArray, index, value, timeout ) 1. Return DoWait(async, typedArray, index, value, timeout). DoWait ( mode, typedArray, index, value, timeout ) 11. Let indexedPosition be (i × 4) + offset. 12. Let WL be GetWaiterList(block, indexedPosition). GetWaiterList( block, i ) ... 4. Return the WaiterList that is referenced by the pair (block, i). flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2989
was-woken-before-timeout.js --- esid: sec-atomics.waitasync description: > Test that Atomics.waitAsync returns the right result when it was awoken before a timeout flags: [async] includes: [atomicsHelper.js] features: [Atomics.waitAsync, SharedArrayBuffer, TypedArray, Atomics, BigInt, arrow-function, async-functions] --- 2036