bad-range.js |
---
esid: sec-atomics.sub
description: >
Test range checking of Atomics.sub on arrays that allow atomic operations
includes: [testAtomics.js, testTypedArray.js]
features: [ArrayBuffer, Atomics, DataView, SharedArrayBuffer, Symbol, TypedArray]
--- |
1100 |
bigint |
|
|
browser.js |
|
0 |
descriptor.js |
---
esid: sec-atomics.sub
description: Testing descriptor property of Atomics.sub
includes: [propertyHelper.js]
features: [Atomics]
--- |
489 |
expected-return-value.js |
---
esid: sec-atomics.sub
description: >
Atomics.and returns the value that existed at the
index prior to the operation.
info: |
Atomics.sub( typedArray, index, value )
1. Return ? AtomicReadModifyWrite(typedArray, index, value, subtract).
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]
--- |
1490 |
good-views.js |
---
esid: sec-atomics.sub
description: Test Atomics.sub on arrays that allow atomic operations
includes: [testAtomics.js, testTypedArray.js]
features: [ArrayBuffer, Atomics, DataView, SharedArrayBuffer, Symbol, TypedArray]
--- |
2291 |
length.js |
---
esid: sec-atomics.sub
description: >
Atomics.sub.length is 3.
info: |
Atomics.sub ( 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.sub
description: >
Atomics.sub.name is "sub".
includes: [propertyHelper.js]
features: [Atomics]
--- |
563 |
non-shared-bufferdata.js |
---
esid: sec-atomics.sub
description: >
Atomics.sub will operate on TA when TA.buffer is not a SharedArrayBuffer
includes: [testTypedArray.js]
features: [ArrayBuffer, Atomics, TypedArray]
--- |
870 |
non-shared-int-views-throws.js |
---
esid: sec-atomics.sub
description: >
Atomics.sub throws when operating on non-sharable integer TypedArrays
includes: [testTypedArray.js]
features: [ArrayBuffer, Atomics, TypedArray]
--- |
747 |
non-views.js |
---
esid: sec-atomics.sub
description: >
Test Atomics.sub 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.sub 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.sub
description: >
TypedArray type is validated before `index` argument is coerced.
info: |
24.4.10 Atomics.sub ( typedArray, index, value )
1. Return ? AtomicReadModifyWrite(typedArray, index, value, sub).
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]
--- |
1454 |
validate-arraytype-before-value-coercion.js |
---
esid: sec-atomics.sub
description: >
TypedArray type is validated before `value` argument is coerced.
info: |
24.4.10 Atomics.sub ( typedArray, index, value )
1. Return ? AtomicReadModifyWrite(typedArray, index, value, sub).
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]
--- |
1454 |