Add Atomics support (#4721)

Creating atomics interface

JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi csgergo92@gmail.com
This commit is contained in:
Gergo Csizi
2021-10-20 15:50:12 +02:00
committed by GitHub
parent c446871214
commit 74f98ec4d7
12 changed files with 803 additions and 122 deletions
+65
View File
@@ -0,0 +1,65 @@
// Copyright JS Foundation and other contributors, http://js.foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
const buffer = new SharedArrayBuffer (16);
const uint8 = new Uint8Array (buffer);
uint8[0] = 7;
Atomics.add (uint8, 0, 2);
Atomics.and (uint8, 0, 2);
Atomics.compareExchange (uint8, 0, 5, 2);
Atomics.exchange (uint8, 0, 2);
Atomics.or (uint8, 0, 2);
Atomics.sub (uint8, 0, 2);
Atomics.xor (uint8, 0, 2)
Atomics.isLockFree (3);
Atomics.load (uint8, 0);
Atomics.store (uint8, 0, 2);
const sab = new SharedArrayBuffer (1024);
const int32 = new Int32Array (sab);
Atomics.wait (int32, 0, 0);
Atomics.notify (int32, 0, 1);
try {
let a;
Atomics.add (a, 0, 0);
} catch (ex) {
assert (ex instanceof TypeError);
}
try {
Atomics.add (new Float32Array(10), 0, 2);
} catch (ex) {
assert (ex instanceof TypeError);
}
try{
const uint16 = new Uint16Array (new ArrayBuffer (16));
Atomics.add(uint16, 0, 0);
} catch (ex) {
assert (ex instanceof TypeError);
}
try {
Atomics.add (uint8, 100, 0);
} catch (ex) {
assert (ex instanceof RangeError);
}
try {
Atomics.add (uint8, -1, 0);
} catch (ex) {
assert (ex instanceof RangeError);
}
+14 -121
View File
@@ -5190,109 +5190,55 @@
features: [Atomics]
https://github.com/tc39/ecmascript_sharedmem
-->
<test id="built-ins/Atomics/Symbol.toStringTag.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>
<test id="built-ins/Atomics/add/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/add/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/add/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/add/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/add/length.js"><reason></reason></test>
<test id="built-ins/Atomics/add/name.js"><reason></reason></test>
<test id="built-ins/Atomics/add/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/add/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/add/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/add/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/add/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/and/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/and/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/and/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/length.js"><reason></reason></test>
<test id="built-ins/Atomics/and/name.js"><reason></reason></test>
<test id="built-ins/Atomics/and/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/and/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/and/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/and/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/length.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/name.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/validate-arraytype-before-expectedValue-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/validate-arraytype-before-replacementValue-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/length.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/name.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/nonshared-int-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/bigint/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/corner-cases.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/length.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/name.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/load/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/load/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/load/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/load/length.js"><reason></reason></test>
<test id="built-ins/Atomics/load/name.js"><reason></reason></test>
<test id="built-ins/Atomics/load/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/load/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/load/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/load/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/non-bigint64-typedarray-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/non-shared-bufferdata-count-evaluation-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/non-shared-bufferdata-index-evaluation-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/non-shared-bufferdata-non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/non-shared-bufferdata-returns-0.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/notify-all-on-loc.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-boundary-cases.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-defaults-to-infinity-missing.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-defaults-to-infinity-undefined.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-from-nans.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-symbol-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-tointeger-throws-then-wake-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/length.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/name.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/negative-count.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/negative-index-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-int32-typedarray-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-shared-bufferdata-count-evaluation-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-shared-bufferdata-index-evaluation-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-shared-bufferdata-non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-shared-bufferdata-returns-0.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-shared-int-views.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/not-a-typedarray-throws.js"><reason></reason></test>
@@ -5314,51 +5260,23 @@
<test id="built-ins/Atomics/notify/undefined-index-defaults-to-zero.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/validate-arraytype-before-count-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/or/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/or/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/or/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/or/length.js"><reason></reason></test>
<test id="built-ins/Atomics/or/name.js"><reason></reason></test>
<test id="built-ins/Atomics/or/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/or/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/or/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/or/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/or/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/prop-desc.js"><reason></reason></test>
<test id="built-ins/Atomics/proto.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/store/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/store/expected-return-value-negative-zero.js"><reason></reason></test>
<test id="built-ins/Atomics/store/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/store/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/length.js"><reason></reason></test>
<test id="built-ins/Atomics/store/name.js"><reason></reason></test>
<test id="built-ins/Atomics/store/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/store/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/store/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/store/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/length.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/name.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bigint/cannot-suspend-throws.js"><reason></reason></test>
@@ -5386,12 +5304,9 @@
<test id="built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bigint/was-woken-before-timeout.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/cannot-suspend-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/descriptor.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/false-for-timeout-agent.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/false-for-timeout.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/length.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/name.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/nan-for-timeout.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/negative-index-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/negative-timeout-agent.js"><reason></reason></test>
@@ -5435,63 +5350,38 @@
<test id="built-ins/Atomics/wait/waiterlist-block-indexedposition-wake.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/was-woken-before-timeout.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/bigint/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/descriptor.js"><reason></reason></test>
<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/length.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/name.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<!-- ES2017: Shared Memory and Atomics
features: [SharedArrayBuffer]
https://github.com/tc39/ecmascript_sharedmem
-->
<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>
<test id="built-ins/Atomics/add/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/add/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/add/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/and/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/and/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/compareExchange/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/isLockFree/bigint/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/load/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/load/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/load/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/load/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/bigint/notify-all-on-loc.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-boundary-cases.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-defaults-to-infinity-missing.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-defaults-to-infinity-undefined.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-from-nans.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-symbol-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/count-tointeger-throws-then-wake-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/negative-count.js"><reason></reason></test>
@@ -5512,25 +5402,17 @@
<test id="built-ins/Atomics/notify/out-of-range-index-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/symbol-for-index-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/notify/undefined-index-defaults-to-zero.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/or/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/or/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/or/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/or/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/store/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/expected-return-value-negative-zero.js"><reason></reason></test>
<test id="built-ins/Atomics/store/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/store/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/bigint/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/expected-return-value.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/good-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/wait/bigint/cannot-suspend-throws.js"><reason></reason></test>
@@ -5678,12 +5560,9 @@
<test id="built-ins/Atomics/waitAsync/value-not-equal.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/Atomics/xor/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/bigint/bad-range.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/bigint/good-views.js"><reason></reason></test>
<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/TypedArrayConstructors/ctors-bigint/buffer-arg/typedarray-backed-by-sharedarraybuffer.js"><reason></reason></test>
<test id="built-ins/TypedArrayConstructors/ctors/buffer-arg/typedarray-backed-by-sharedarraybuffer.js"><reason></reason></test>
<!-- END - ES2017: Shared Memory and Atomics -->
@@ -7991,4 +7870,18 @@
<test id="built-ins/Atomics/waitAsync/bigint/null-bufferdata-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/waitAsync/null-bufferdata-throws.js"><reason></reason></test>
<!-- END - Missing test262 support in JerryScript REPL - missing $262.detachArrayBuffer function -->
<test id="built-ins/Atomics/and/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/load/non-shared-bufferdata.js"><reason></reason></test>
<test id="built-ins/Atomics/store/non-shared-int-views-throws.js"><reason></reason></test>
<test id="built-ins/Atomics/store/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/store/validate-arraytype-before-index-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/store/validate-arraytype-before-value-coercion.js"><reason></reason></test>
<test id="built-ins/Atomics/add/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/and/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/exchange/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/load/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/or/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/sub/non-views.js"><reason></reason></test>
<test id="built-ins/Atomics/xor/non-views.js"><reason></reason></test>
</excludeList>