bad-range.js |
---
esid: sec-atomics.add
description: >
Test range checking of Atomics.add on arrays that allow atomic operations
includes: [testAtomics.js, testTypedArray.js]
features: [ArrayBuffer, Atomics, DataView, SharedArrayBuffer, Symbol, TypedArray]
--- |
1104 |
bigint |
|
|
browser.js |
|
0 |
descriptor.js |
---
esid: sec-atomics.add
description: Testing descriptor property of Atomics.add
includes: [propertyHelper.js]
features: [Atomics]
--- |
489 |
expected-return-value.js |
---
esid: sec-atomics.add
description: >
Atomics.add returns the value that existed at the
index prior to the operation.
info: |
Atomics.add( typedArray, index, value )
1. Return ? AtomicReadModifyWrite(typedArray, index, value, add).
AtomicReadModifyWrite( typedArray, index, value, op )
...
9. Return GetModifySetValueInBuffer(buffer, indexedPosition,
elementType, v, op).
GetModifySetValueInBuffer( arrayBuffer,
byteIndex, type, value, op [ , isLittleEndian ] )
...
16. Return RawBytesToNumber(type, rawBytesRead, isLittleEndian).
features: [Atomics, SharedArrayBuffer, TypedArray]
--- |
1472 |
good-views.js |
---
esid: sec-atomics.add
description: Test Atomics.add on arrays that allow atomic operations.
includes: [testAtomics.js, testTypedArray.js]
features: [ArrayBuffer, Atomics, DataView, SharedArrayBuffer, Symbol, TypedArray]
--- |
2336 |
length.js |
---
esid: sec-atomics.add
description: >
Atomics.add.length is 3.
info: |
Atomics.add ( ia, index, val )
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this
value is equal to the largest number of named arguments shown in the
subclause headings for the function description, including optional
parameters. However, rest parameters shown using the form “...name”
are not included in the default argument count.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
features: [Atomics]
--- |
1244 |
name.js |
---
esid: sec-atomics.add
description: >
Atomics.add.name is "add".
includes: [propertyHelper.js]
features: [Atomics]
--- |
562 |
non-shared-bufferdata.js |
---
esid: sec-atomics.add
description: >
Atomics.add will operate on TA when TA.buffer is not a SharedArrayBuffer
includes: [testTypedArray.js]
features: [ArrayBuffer, Atomics, TypedArray]
--- |
781 |
non-shared-int-views-throws.js |
---
esid: sec-atomics.add
description: >
Atomics.add throws when operating on non-sharable integer TypedArrays
includes: [testTypedArray.js]
features: [ArrayBuffer, Atomics, TypedArray]
--- |
769 |
non-views.js |
---
esid: sec-atomics.add
description: >
Test Atomics.add on view values other than TypedArrays
includes: [testAtomics.js]
features: [ArrayBuffer, Atomics, DataView, SharedArrayBuffer, Symbol, TypedArray]
--- |
787 |
not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Atomics.add does not implement [[Construct]], is not new-able
info: |
ECMAScript Function Objects
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.
sec-evaluatenew
...
7. If IsConstructor(constructor) is false, throw a TypeError exception.
...
includes: [isConstructor.js]
features: [Reflect.construct, Atomics, arrow-function, TypedArray, SharedArrayBuffer]
--- |
1260 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |
validate-arraytype-before-index-coercion.js |
---
esid: sec-atomics.add
description: >
TypedArray type is validated before `index` argument is coerced.
info: |
24.4.2 Atomics.add ( typedArray, index, value )
1. Return ? AtomicReadModifyWrite(typedArray, index, value, add).
24.4.1.11 AtomicReadModifyWrite ( typedArray, index, value, op )
1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray).
...
24.4.1.1 ValidateSharedIntegerTypedArray ( typedArray [ , onlyInt32 ] )
...
4. Let typeName be typedArray.[[TypedArrayName]].
5. If onlyInt32 is true, then
a. If typeName is not "Int32Array", throw a TypeError exception.
6. Else,
a. If typeName is not "Int8Array", "Uint8Array", "Int16Array", "Uint16Array", "Int32Array",
or "Uint32Array", throw a TypeError exception.
...
includes: [testTypedArray.js]
features: [Atomics, TypedArray]
--- |
1453 |
validate-arraytype-before-value-coercion.js |
---
esid: sec-atomics.add
description: >
TypedArray type is validated before `value` argument is coerced.
info: |
24.4.2 Atomics.add ( typedArray, index, value )
1. Return ? AtomicReadModifyWrite(typedArray, index, value, add).
24.4.1.11 AtomicReadModifyWrite ( typedArray, index, value, op )
1. Let buffer be ? ValidateSharedIntegerTypedArray(typedArray).
...
24.4.1.1 ValidateSharedIntegerTypedArray ( typedArray [ , onlyInt32 ] )
...
4. Let typeName be typedArray.[[TypedArrayName]].
5. If onlyInt32 is true, then
a. If typeName is not "Int32Array", throw a TypeError exception.
6. Else,
a. If typeName is not "Int8Array", "Uint8Array", "Int16Array", "Uint16Array", "Int32Array",
or "Uint32Array", throw a TypeError exception.
...
includes: [testTypedArray.js]
features: [Atomics, TypedArray]
--- |
1453 |