From fc4a6f12cb1e8465ad1e64213b211c9c5f1cb8ed Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Mon, 25 Jun 2018 15:17:45 -0400
Subject: [PATCH] Atomics: ensure all SharedArrayBuffer sizes are uniform

---
 .../Atomics/add/expected-return-value.js      |  2 +-
 .../Atomics/and/expected-return-value.js      |  2 +-
 .../compareExchange/expected-return-value.js  |  2 +-
 .../Atomics/exchange/expected-return-value.js |  2 +-
 .../Atomics/load/expected-return-value.js     |  2 +-
 .../Atomics/or/expected-return-value.js       |  2 +-
 .../Atomics/store/expected-return-value.js    |  2 +-
 .../Atomics/sub/expected-return-value.js      |  2 +-
 test/built-ins/Atomics/wait/bad-range.js      |  2 +-
 .../Atomics/wait/bigint/bad-range.js          |  2 +-
 .../wait/bigint/cannot-suspend-throws.js      |  2 +-
 .../wait/bigint/false-for-timeout-agent.js    |  2 +-
 .../Atomics/wait/bigint/false-for-timeout.js  |  2 +-
 .../Atomics/wait/bigint/nan-for-timeout.js    |  2 +-
 .../wait/bigint/negative-index-throws.js      |  2 +-
 .../wait/bigint/negative-timeout-agent.js     |  2 +-
 .../Atomics/wait/bigint/negative-timeout.js   |  2 +-
 .../bigint/no-spurious-wakeup-no-operation.js |  4 +--
 .../wait/bigint/no-spurious-wakeup-on-add.js  |  6 ++--
 .../wait/bigint/no-spurious-wakeup-on-and.js  |  6 ++--
 .../no-spurious-wakeup-on-compareExchange.js  |  6 ++--
 .../bigint/no-spurious-wakeup-on-exchange.js  |  6 ++--
 .../wait/bigint/no-spurious-wakeup-on-or.js   |  6 ++--
 .../bigint/no-spurious-wakeup-on-store.js     |  6 ++--
 .../wait/bigint/no-spurious-wakeup-on-sub.js  |  6 ++--
 .../wait/bigint/no-spurious-wakeup-on-xor.js  |  6 ++--
 .../wait/bigint/null-bufferdata-throws.js     |  2 +-
 .../wait/bigint/out-of-range-index-throws.js  |  2 +-
 .../Atomics/wait/bigint/value-not-equal.js    |  2 +-
 .../waiterlist-block-indexedposition-wake.js  | 30 +++++++++++--------
 .../waiterlist-order-of-operations-is-fifo.js |  2 +-
 .../wait/bigint/was-woken-before-timeout.js   |  2 +-
 .../Atomics/wait/cannot-suspend-throws.js     |  2 +-
 .../Atomics/wait/false-for-timeout-agent.js   |  2 +-
 .../Atomics/wait/false-for-timeout.js         |  2 +-
 .../built-ins/Atomics/wait/nan-for-timeout.js |  2 +-
 .../Atomics/wait/negative-index-throws.js     |  2 +-
 .../Atomics/wait/negative-timeout-agent.js    |  2 +-
 .../Atomics/wait/negative-timeout.js          |  2 +-
 .../Atomics/wait/no-spurious-wakeup-on-add.js |  6 ++--
 .../Atomics/wait/no-spurious-wakeup-on-and.js |  6 ++--
 .../no-spurious-wakeup-on-compareExchange.js  |  6 ++--
 .../wait/no-spurious-wakeup-on-exchange.js    |  6 ++--
 .../Atomics/wait/no-spurious-wakeup-on-or.js  |  6 ++--
 .../wait/no-spurious-wakeup-on-store.js       |  6 ++--
 .../Atomics/wait/no-spurious-wakeup-on-sub.js |  6 ++--
 .../Atomics/wait/no-spurious-wakeup-on-xor.js |  6 ++--
 .../Atomics/wait/null-bufferdata-throws.js    |  2 +-
 .../Atomics/wait/null-for-timeout-agent.js    |  2 +-
 .../Atomics/wait/null-for-timeout.js          |  2 +-
 .../Atomics/wait/object-for-timeout-agent.js  |  2 +-
 .../Atomics/wait/object-for-timeout.js        |  2 +-
 .../Atomics/wait/out-of-range-index-throws.js |  7 +++--
 ...oisoned-object-for-timeout-throws-agent.js |  2 +-
 .../poisoned-object-for-timeout-throws.js     |  2 +-
 .../wait/symbol-for-index-throws-agent.js     |  2 +-
 .../Atomics/wait/symbol-for-index-throws.js   |  2 +-
 .../wait/symbol-for-timeout-throws-agent.js   |  2 +-
 .../wait/symbol-for-value-throws-agent.js     |  2 +-
 .../Atomics/wait/symbol-for-value-throws.js   |  2 +-
 .../Atomics/wait/true-for-timeout-agent.js    |  2 +-
 .../Atomics/wait/true-for-timeout.js          |  2 +-
 .../Atomics/wait/undefined-for-timeout.js     |  5 ++--
 .../wait/undefined-index-defaults-to-zero.js  |  2 +-
 .../built-ins/Atomics/wait/value-not-equal.js |  2 +-
 .../wait/wait-index-value-not-equal.js        |  2 +-
 .../waiterlist-order-of-operations-is-fifo.js |  2 +-
 .../Atomics/wait/was-woken-before-timeout.js  |  2 +-
 test/built-ins/Atomics/wake/bad-range.js      |  2 +-
 .../Atomics/wake/bigint/bad-range.js          |  2 +-
 .../wake/bigint/null-bufferdata-throws.js     |  2 +-
 .../Atomics/wake/count-boundary-cases.js      |  2 +-
 .../count-defaults-to-infinity-missing.js     |  2 +-
 .../count-defaults-to-infinity-undefined.js   |  2 +-
 .../built-ins/Atomics/wake/count-from-nans.js |  2 +-
 .../Atomics/wake/count-symbol-throws.js       |  2 +-
 ...count-tointeger-throws-then-wake-throws.js |  2 +-
 test/built-ins/Atomics/wake/negative-count.js |  2 +-
 .../Atomics/wake/negative-index-throws.js     |  2 +-
 .../Atomics/wake/null-bufferdata-throws.js    |  2 +-
 .../Atomics/wake/out-of-range-index-throws.js |  2 +-
 .../Atomics/wake/symbol-for-index-throws.js   |  2 +-
 .../wake/undefined-index-defaults-to-zero.js  |  2 +-
 test/built-ins/Atomics/wake/wake-nan.js       |  2 +-
 .../Atomics/xor/expected-return-value.js      |  2 +-
 85 files changed, 140 insertions(+), 132 deletions(-)

diff --git a/test/built-ins/Atomics/add/expected-return-value.js b/test/built-ins/Atomics/add/expected-return-value.js
index ad6d4817e5..6de926e9b3 100644
--- a/test/built-ins/Atomics/add/expected-return-value.js
+++ b/test/built-ins/Atomics/add/expected-return-value.js
@@ -27,7 +27,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var newValue = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/and/expected-return-value.js b/test/built-ins/Atomics/and/expected-return-value.js
index fa23873e6c..a9a9e5d30d 100644
--- a/test/built-ins/Atomics/and/expected-return-value.js
+++ b/test/built-ins/Atomics/and/expected-return-value.js
@@ -27,7 +27,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var initial = 0b00000001000000001000000010000001;
 var other = 0b00000001111111111000000011111111;
diff --git a/test/built-ins/Atomics/compareExchange/expected-return-value.js b/test/built-ins/Atomics/compareExchange/expected-return-value.js
index d9ef99de2f..5810279b14 100644
--- a/test/built-ins/Atomics/compareExchange/expected-return-value.js
+++ b/test/built-ins/Atomics/compareExchange/expected-return-value.js
@@ -26,7 +26,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var update = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/exchange/expected-return-value.js b/test/built-ins/Atomics/exchange/expected-return-value.js
index 31af025b38..58eab15ef4 100644
--- a/test/built-ins/Atomics/exchange/expected-return-value.js
+++ b/test/built-ins/Atomics/exchange/expected-return-value.js
@@ -27,7 +27,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var update = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/load/expected-return-value.js b/test/built-ins/Atomics/load/expected-return-value.js
index 7116765a67..bc373f27a9 100644
--- a/test/built-ins/Atomics/load/expected-return-value.js
+++ b/test/built-ins/Atomics/load/expected-return-value.js
@@ -28,7 +28,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var update = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/or/expected-return-value.js b/test/built-ins/Atomics/or/expected-return-value.js
index 8e9a394ea0..71971d2c85 100644
--- a/test/built-ins/Atomics/or/expected-return-value.js
+++ b/test/built-ins/Atomics/or/expected-return-value.js
@@ -27,7 +27,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var update = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/store/expected-return-value.js b/test/built-ins/Atomics/store/expected-return-value.js
index 763453d165..010886bbde 100644
--- a/test/built-ins/Atomics/store/expected-return-value.js
+++ b/test/built-ins/Atomics/store/expected-return-value.js
@@ -18,7 +18,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var update = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/sub/expected-return-value.js b/test/built-ins/Atomics/sub/expected-return-value.js
index 9116a649d7..eb0fcf88ba 100644
--- a/test/built-ins/Atomics/sub/expected-return-value.js
+++ b/test/built-ins/Atomics/sub/expected-return-value.js
@@ -27,7 +27,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var update = 0b00000001000000001000000010000001;
 
diff --git a/test/built-ins/Atomics/wait/bad-range.js b/test/built-ins/Atomics/wait/bad-range.js
index 13df39122e..8299a66f0f 100644
--- a/test/built-ins/Atomics/wait/bad-range.js
+++ b/test/built-ins/Atomics/wait/bad-range.js
@@ -16,7 +16,7 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 8)
 );
 
 testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
diff --git a/test/built-ins/Atomics/wait/bigint/bad-range.js b/test/built-ins/Atomics/wait/bigint/bad-range.js
index b9a8a2753d..4a942951ae 100644
--- a/test/built-ins/Atomics/wait/bigint/bad-range.js
+++ b/test/built-ins/Atomics/wait/bigint/bad-range.js
@@ -16,7 +16,7 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let,
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
diff --git a/test/built-ins/Atomics/wait/bigint/cannot-suspend-throws.js b/test/built-ins/Atomics/wait/bigint/cannot-suspend-throws.js
index aaa4b5e438..08b6551bb8 100644
--- a/test/built-ins/Atomics/wait/bigint/cannot-suspend-throws.js
+++ b/test/built-ins/Atomics/wait/bigint/cannot-suspend-throws.js
@@ -19,7 +19,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 assert.throws(TypeError, function() {
diff --git a/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js b/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
index d6f1a85d2c..3b21c4c540 100644
--- a/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
@@ -41,7 +41,7 @@ $262.agent.start(`
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
diff --git a/test/built-ins/Atomics/wait/bigint/false-for-timeout.js b/test/built-ins/Atomics/wait/bigint/false-for-timeout.js
index 80aab8022f..2188167e54 100644
--- a/test/built-ins/Atomics/wait/bigint/false-for-timeout.js
+++ b/test/built-ins/Atomics/wait/bigint/false-for-timeout.js
@@ -17,7 +17,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 const valueOf = {
diff --git a/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js b/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js
index de85664164..9963ad7c5e 100644
--- a/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js
+++ b/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
diff --git a/test/built-ins/Atomics/wait/bigint/negative-index-throws.js b/test/built-ins/Atomics/wait/bigint/negative-index-throws.js
index 8da783be7d..9acd86db1e 100644
--- a/test/built-ins/Atomics/wait/bigint/negative-index-throws.js
+++ b/test/built-ins/Atomics/wait/bigint/negative-index-throws.js
@@ -17,7 +17,7 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 const poisoned = {
   valueOf: function() {
diff --git a/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js b/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js
index f8324d04e3..2e8ef99b29 100644
--- a/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js
@@ -18,7 +18,7 @@ $262.agent.start(`
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
diff --git a/test/built-ins/Atomics/wait/bigint/negative-timeout.js b/test/built-ins/Atomics/wait/bigint/negative-timeout.js
index f37745cc9a..a3239d9ce0 100644
--- a/test/built-ins/Atomics/wait/bigint/negative-timeout.js
+++ b/test/built-ins/Atomics/wait/bigint/negative-timeout.js
@@ -10,7 +10,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 assert.sameValue(Atomics.wait(i64a, 0, 0, -1), "timed-out");
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js
index 7e3486dbf6..5c6cd8407c 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js
@@ -29,11 +29,11 @@ $262.agent.start(`
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 // NO OPERATION OCCURS HERE!
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js
index 5bd19b1e30..a849a0dfbd 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.add(i64a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js
index 87e8ccf1c8..65ac7b19ad 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.and(i64a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js
index 504b0388b4..8a65b0805c 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.compareExchange(i64a, 0, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js
index 4c33d8d52a..24e70acdc1 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.exchange(i64a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js
index dd7d2a46fb..ae0d560e2a 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.or(i64a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
index 0d3d607a02..6e25fe7a3d 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.store(i64a, 0, 0x111111);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js
index 5f0d479990..b291f9d2be 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.sub(i64a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js
index ec197a933d..5bb9c7da94 100644
--- a/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js
+++ b/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js
@@ -8,9 +8,9 @@ description: >
 includes: [testAtomics.js]
 features: [Atomics, BigInt, SharedArrayBuffer, TypedArray, ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.start(`
@@ -25,7 +25,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i64a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.xor(i64a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/bigint/null-bufferdata-throws.js b/test/built-ins/Atomics/wait/bigint/null-bufferdata-throws.js
index 69d24c938e..9b7ca66cbc 100644
--- a/test/built-ins/Atomics/wait/bigint/null-bufferdata-throws.js
+++ b/test/built-ins/Atomics/wait/bigint/null-bufferdata-throws.js
@@ -26,7 +26,7 @@ features: [ArrayBuffer, Atomics, BigInt, TypedArray]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 const poisoned = {
   valueOf: function() {
diff --git a/test/built-ins/Atomics/wait/bigint/out-of-range-index-throws.js b/test/built-ins/Atomics/wait/bigint/out-of-range-index-throws.js
index d8a6b420a1..d4d936860b 100644
--- a/test/built-ins/Atomics/wait/bigint/out-of-range-index-throws.js
+++ b/test/built-ins/Atomics/wait/bigint/out-of-range-index-throws.js
@@ -17,7 +17,7 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 const poisoned = {
diff --git a/test/built-ins/Atomics/wait/bigint/value-not-equal.js b/test/built-ins/Atomics/wait/bigint/value-not-equal.js
index 6ed7eaa773..351e678287 100644
--- a/test/built-ins/Atomics/wait/bigint/value-not-equal.js
+++ b/test/built-ins/Atomics/wait/bigint/value-not-equal.js
@@ -31,7 +31,7 @@ $262.agent.start(`
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
diff --git a/test/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js b/test/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js
index bedd9f0b28..ee128c52d9 100644
--- a/test/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js
+++ b/test/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js
@@ -27,8 +27,7 @@ $262.agent.start(`
     const i64a = new BigInt64Array(sab);
 
     // Wait on index 0
-    Atomics.wait(i64a, 0, 0, 200);
-    $262.agent.report(0);
+    $262.agent.report(Atomics.wait(i64a, 0, 0, Infinity));
     $262.agent.leaving();
   });
 `);
@@ -37,25 +36,32 @@ $262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     const i64a = new BigInt64Array(sab);
 
-    // Wait on index 2
-    Atomics.wait(i64a, 2, 0, 200);
-    $262.agent.report(2);
+    // Wait on index 7
+    $262.agent.report(Atomics.wait(i64a, 7, 0, Infinity));
     $262.agent.leaving();
   });
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(4 * BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
 $262.agent.sleep(10);
 
-// Wake index 2
-Atomics.wake(i64a, 2, 1);
-assert.sameValue(getReport(), '2');
+// Wake index 1, wakes nothing
+assert.sameValue(Atomics.wake(i64a, 1), 0, 'Atomics.wake(i64a, 1) returns 0');
+// Wake index 3, wakes nothing
+assert.sameValue(Atomics.wake(i64a, 3), 0, 'Atomics.wake(i64a, 3) returns 0');
+// Wake index 4, wakes nothing
+assert.sameValue(Atomics.wake(i64a, 4), 0, 'Atomics.wake(i64a, 4) returns 0');
+// Wake index 5, wakes nothing
+assert.sameValue(Atomics.wake(i64a, 5), 0, 'Atomics.wake(i64a, 5) returns 0');
 
-// Wake index 0
-Atomics.wake(i64a, 0, 1);
-assert.sameValue(getReport(), '0');
+// Wake index 7, wakes 1
+assert.sameValue(Atomics.wake(i64a, 7), 1, 'Atomics.wake(i64a, 7) returns 1');
+assert.sameValue(getReport(), 'ok', 'getReport() returns "ok"');
 
+// Wake index 0, wakes 1
+assert.sameValue(Atomics.wake(i64a, 0), 1, 'Atomics.wake(i64a, 0) returns 1');
+assert.sameValue(getReport(), 'ok', 'getReport() returns "ok"');
diff --git a/test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js b/test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js
index 948eac8ce3..13f67968e3 100644
--- a/test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js
+++ b/test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js
@@ -54,7 +54,7 @@ $262.agent.start(`
 
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(4 * BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
diff --git a/test/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js b/test/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js
index 0b975788eb..c21b75cd4a 100644
--- a/test/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js
+++ b/test/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js
@@ -37,7 +37,7 @@ $262.agent.start(`
 `);
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 $262.agent.broadcast(i64a.buffer);
diff --git a/test/built-ins/Atomics/wait/cannot-suspend-throws.js b/test/built-ins/Atomics/wait/cannot-suspend-throws.js
index d453b5ecda..39792eb682 100644
--- a/test/built-ins/Atomics/wait/cannot-suspend-throws.js
+++ b/test/built-ins/Atomics/wait/cannot-suspend-throws.js
@@ -19,7 +19,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 assert.throws(TypeError, function() {
diff --git a/test/built-ins/Atomics/wait/false-for-timeout-agent.js b/test/built-ins/Atomics/wait/false-for-timeout-agent.js
index 609f5657b9..616b095b77 100644
--- a/test/built-ins/Atomics/wait/false-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/false-for-timeout-agent.js
@@ -41,7 +41,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/false-for-timeout.js b/test/built-ins/Atomics/wait/false-for-timeout.js
index fca789f8c3..b79fe25fe3 100644
--- a/test/built-ins/Atomics/wait/false-for-timeout.js
+++ b/test/built-ins/Atomics/wait/false-for-timeout.js
@@ -17,7 +17,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const valueOf = {
diff --git a/test/built-ins/Atomics/wait/nan-for-timeout.js b/test/built-ins/Atomics/wait/nan-for-timeout.js
index fd181765bb..d5075813b8 100644
--- a/test/built-ins/Atomics/wait/nan-for-timeout.js
+++ b/test/built-ins/Atomics/wait/nan-for-timeout.js
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/negative-index-throws.js b/test/built-ins/Atomics/wait/negative-index-throws.js
index c268560562..5cb009486f 100644
--- a/test/built-ins/Atomics/wait/negative-index-throws.js
+++ b/test/built-ins/Atomics/wait/negative-index-throws.js
@@ -19,7 +19,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisoned = {
diff --git a/test/built-ins/Atomics/wait/negative-timeout-agent.js b/test/built-ins/Atomics/wait/negative-timeout-agent.js
index c8ca7e5d7f..a4557714c8 100644
--- a/test/built-ins/Atomics/wait/negative-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/negative-timeout-agent.js
@@ -18,7 +18,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/negative-timeout.js b/test/built-ins/Atomics/wait/negative-timeout.js
index 9fadae6779..97a2ed91dd 100644
--- a/test/built-ins/Atomics/wait/negative-timeout.js
+++ b/test/built-ins/Atomics/wait/negative-timeout.js
@@ -10,7 +10,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 assert.sameValue(Atomics.wait(i32a, 0, 0, -1), "timed-out");
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
index 94dcfe9c7b..d98e92ec76 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [ArrayBuffer, DataView, let, arrow-function, for-of, Atomics, BigInt, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.add(i32a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
index bda0a701fb..29c2bf2a2b 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.and(i32a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
index 5219c79acf..31d9cd74c0 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.compareExchange(i32a, 0, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
index c985129ff6..aeb16b37bc 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.exchange(i32a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
index 64d3114a14..a365f2effd 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.or(i32a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
index bc59c6c571..0ce28339a8 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.store(i32a, 0, 0x111111);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
index 725dc57e35..081f9a428e 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.sub(i32a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
index c79dad7938..a96e433467 100644
--- a/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
+++ b/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
@@ -9,9 +9,9 @@ includes: [atomicsHelper.js]
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-const TIMEOUT = 2000;
+const TIMEOUT = 200;
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.start(`
@@ -26,7 +26,7 @@ $262.agent.start(`
 `);
 
 $262.agent.broadcast(i32a.buffer);
-$262.agent.sleep(100);
+$262.agent.sleep(10);
 
 Atomics.xor(i32a, 0, 1);
 
diff --git a/test/built-ins/Atomics/wait/null-bufferdata-throws.js b/test/built-ins/Atomics/wait/null-bufferdata-throws.js
index 05f3d262b4..27bf1f272a 100644
--- a/test/built-ins/Atomics/wait/null-bufferdata-throws.js
+++ b/test/built-ins/Atomics/wait/null-bufferdata-throws.js
@@ -17,7 +17,7 @@ features: [ArrayBuffer, Atomics, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisoned = {
diff --git a/test/built-ins/Atomics/wait/null-for-timeout-agent.js b/test/built-ins/Atomics/wait/null-for-timeout-agent.js
index b6b3bb9066..599d95091e 100644
--- a/test/built-ins/Atomics/wait/null-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/null-for-timeout-agent.js
@@ -41,7 +41,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/null-for-timeout.js b/test/built-ins/Atomics/wait/null-for-timeout.js
index 8bae175c7d..63c3780c6c 100644
--- a/test/built-ins/Atomics/wait/null-for-timeout.js
+++ b/test/built-ins/Atomics/wait/null-for-timeout.js
@@ -17,7 +17,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const valueOf = {
diff --git a/test/built-ins/Atomics/wait/object-for-timeout-agent.js b/test/built-ins/Atomics/wait/object-for-timeout-agent.js
index caac5dc689..4f5f2e9913 100644
--- a/test/built-ins/Atomics/wait/object-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/object-for-timeout-agent.js
@@ -46,7 +46,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/object-for-timeout.js b/test/built-ins/Atomics/wait/object-for-timeout.js
index 43af65dae2..6af1359955 100644
--- a/test/built-ins/Atomics/wait/object-for-timeout.js
+++ b/test/built-ins/Atomics/wait/object-for-timeout.js
@@ -21,7 +21,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const valueOf = {
diff --git a/test/built-ins/Atomics/wait/out-of-range-index-throws.js b/test/built-ins/Atomics/wait/out-of-range-index-throws.js
index fc09d1ae7d..a50c31113d 100644
--- a/test/built-ins/Atomics/wait/out-of-range-index-throws.js
+++ b/test/built-ins/Atomics/wait/out-of-range-index-throws.js
@@ -17,7 +17,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisoned = {
@@ -30,7 +30,10 @@ assert.throws(RangeError, function() {
   Atomics.wait(i32a, Infinity, poisoned, poisoned);
 });
 assert.throws(RangeError, function() {
-  Atomics.wait(i32a, 2, poisoned, poisoned);
+  Atomics.wait(i32a, -1, poisoned, poisoned);
+});
+assert.throws(RangeError, function() {
+  Atomics.wait(i32a, 4, poisoned, poisoned);
 });
 assert.throws(RangeError, function() {
   Atomics.wait(i32a, 200, poisoned, poisoned);
diff --git a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
index 2470216793..5ec9f80945 100644
--- a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
+++ b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
@@ -48,7 +48,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js
index 73bd54b0ef..b29c961039 100644
--- a/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js
+++ b/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js
@@ -19,7 +19,7 @@ features: [Atomics, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisonedValueOf = {
diff --git a/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
index 0fff08b9c4..c4bc9e7cf5 100644
--- a/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
@@ -61,7 +61,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/symbol-for-index-throws.js b/test/built-ins/Atomics/wait/symbol-for-index-throws.js
index a84f54ac6c..0956311742 100644
--- a/test/built-ins/Atomics/wait/symbol-for-index-throws.js
+++ b/test/built-ins/Atomics/wait/symbol-for-index-throws.js
@@ -29,7 +29,7 @@ features: [Atomics, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisonedValueOf = {
diff --git a/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
index 8c4bf6decd..b730a5baba 100644
--- a/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
@@ -35,7 +35,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js b/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
index 02b31acb57..2457900778 100644
--- a/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
+++ b/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
@@ -52,7 +52,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/symbol-for-value-throws.js b/test/built-ins/Atomics/wait/symbol-for-value-throws.js
index 86e06e1d7d..d34cf24858 100644
--- a/test/built-ins/Atomics/wait/symbol-for-value-throws.js
+++ b/test/built-ins/Atomics/wait/symbol-for-value-throws.js
@@ -20,7 +20,7 @@ features: [Atomics, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisonedValueOf = {
diff --git a/test/built-ins/Atomics/wait/true-for-timeout-agent.js b/test/built-ins/Atomics/wait/true-for-timeout-agent.js
index bd95c1c525..0b8df771bd 100644
--- a/test/built-ins/Atomics/wait/true-for-timeout-agent.js
+++ b/test/built-ins/Atomics/wait/true-for-timeout-agent.js
@@ -41,7 +41,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/true-for-timeout.js b/test/built-ins/Atomics/wait/true-for-timeout.js
index ee4a808bee..64b4b8710b 100644
--- a/test/built-ins/Atomics/wait/true-for-timeout.js
+++ b/test/built-ins/Atomics/wait/true-for-timeout.js
@@ -17,7 +17,7 @@ flags: [CanBlockIsFalse]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const valueOf = {
diff --git a/test/built-ins/Atomics/wait/undefined-for-timeout.js b/test/built-ins/Atomics/wait/undefined-for-timeout.js
index 2ea65ef5cc..2ab2784572 100644
--- a/test/built-ins/Atomics/wait/undefined-for-timeout.js
+++ b/test/built-ins/Atomics/wait/undefined-for-timeout.js
@@ -29,8 +29,7 @@ $262.agent.start(`
   });
 `);
 
-$262.agent.start(
-  `
+$262.agent.start(`
   $262.agent.receiveBroadcast(function(sab) {
     var i32a = new Int32Array(sab);
     $262.agent.report("B " + Atomics.wait(i32a, 0, 0));  // undefined timeout arg => NaN => +Infinity
@@ -39,7 +38,7 @@ $262.agent.start(
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js b/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js
index ca25def370..f3f722c7fa 100644
--- a/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js
+++ b/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js
@@ -31,7 +31,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/value-not-equal.js b/test/built-ins/Atomics/wait/value-not-equal.js
index 9dce875fa6..82dde2224e 100644
--- a/test/built-ins/Atomics/wait/value-not-equal.js
+++ b/test/built-ins/Atomics/wait/value-not-equal.js
@@ -31,7 +31,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/wait-index-value-not-equal.js b/test/built-ins/Atomics/wait/wait-index-value-not-equal.js
index 53db6ae85c..16f4272469 100644
--- a/test/built-ins/Atomics/wait/wait-index-value-not-equal.js
+++ b/test/built-ins/Atomics/wait/wait-index-value-not-equal.js
@@ -27,7 +27,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js b/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
index 1890a2828e..2812fadd6e 100644
--- a/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
+++ b/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
@@ -55,7 +55,7 @@ $262.agent.start(`
 
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(4 * Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wait/was-woken-before-timeout.js b/test/built-ins/Atomics/wait/was-woken-before-timeout.js
index 008955b57f..cd9c31bdb8 100644
--- a/test/built-ins/Atomics/wait/was-woken-before-timeout.js
+++ b/test/built-ins/Atomics/wait/was-woken-before-timeout.js
@@ -37,7 +37,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wake/bad-range.js b/test/built-ins/Atomics/wake/bad-range.js
index cfd55750ab..5db7b2f2a5 100644
--- a/test/built-ins/Atomics/wake/bad-range.js
+++ b/test/built-ins/Atomics/wake/bad-range.js
@@ -16,7 +16,7 @@ features: [ArrayBuffer, arrow-function, Atomics, DataView, for-of, let, SharedAr
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
diff --git a/test/built-ins/Atomics/wake/bigint/bad-range.js b/test/built-ins/Atomics/wake/bigint/bad-range.js
index 26d12c6278..df9340fc84 100644
--- a/test/built-ins/Atomics/wake/bigint/bad-range.js
+++ b/test/built-ins/Atomics/wake/bigint/bad-range.js
@@ -16,7 +16,7 @@ features: [ArrayBuffer, arrow-function, Atomics, BigInt, DataView, for-of, let,
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 
 testWithAtomicsOutOfBoundsIndices(function(IdxGen) {
diff --git a/test/built-ins/Atomics/wake/bigint/null-bufferdata-throws.js b/test/built-ins/Atomics/wake/bigint/null-bufferdata-throws.js
index e596a901aa..2937918533 100644
--- a/test/built-ins/Atomics/wake/bigint/null-bufferdata-throws.js
+++ b/test/built-ins/Atomics/wake/bigint/null-bufferdata-throws.js
@@ -17,7 +17,7 @@ features: [ArrayBuffer, Atomics, BigInt, TypedArray]
 ---*/
 
 const i64a = new BigInt64Array(
-  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 8)
 );
 const poisoned = {
   valueOf: function() {
diff --git a/test/built-ins/Atomics/wake/count-boundary-cases.js b/test/built-ins/Atomics/wake/count-boundary-cases.js
index 3faffa2f44..c0686fb0b6 100644
--- a/test/built-ins/Atomics/wake/count-boundary-cases.js
+++ b/test/built-ins/Atomics/wake/count-boundary-cases.js
@@ -26,7 +26,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 assert.sameValue(
diff --git a/test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js b/test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js
index 7038e41e4b..5601d2fe18 100644
--- a/test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js
+++ b/test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js
@@ -52,7 +52,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js b/test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js
index 837bcfa84f..89b7fc223b 100644
--- a/test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js
+++ b/test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js
@@ -50,7 +50,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wake/count-from-nans.js b/test/built-ins/Atomics/wake/count-from-nans.js
index c71f739f7b..cb860e2ac5 100644
--- a/test/built-ins/Atomics/wake/count-from-nans.js
+++ b/test/built-ins/Atomics/wake/count-from-nans.js
@@ -25,7 +25,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 NaNs.forEach(nan => {
diff --git a/test/built-ins/Atomics/wake/count-symbol-throws.js b/test/built-ins/Atomics/wake/count-symbol-throws.js
index c2c93c3310..f3853f5ae2 100644
--- a/test/built-ins/Atomics/wake/count-symbol-throws.js
+++ b/test/built-ins/Atomics/wake/count-symbol-throws.js
@@ -18,7 +18,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 assert.throws(TypeError, function() {
diff --git a/test/built-ins/Atomics/wake/count-tointeger-throws-then-wake-throws.js b/test/built-ins/Atomics/wake/count-tointeger-throws-then-wake-throws.js
index dff76e0709..690e9d7a55 100644
--- a/test/built-ins/Atomics/wake/count-tointeger-throws-then-wake-throws.js
+++ b/test/built-ins/Atomics/wake/count-tointeger-throws-then-wake-throws.js
@@ -18,7 +18,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisoned = {
diff --git a/test/built-ins/Atomics/wake/negative-count.js b/test/built-ins/Atomics/wake/negative-count.js
index 2c3c1abbb2..8d8803669a 100644
--- a/test/built-ins/Atomics/wake/negative-count.js
+++ b/test/built-ins/Atomics/wake/negative-count.js
@@ -18,7 +18,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wake/negative-index-throws.js b/test/built-ins/Atomics/wake/negative-index-throws.js
index 50d7a345c1..2e6fc12345 100644
--- a/test/built-ins/Atomics/wake/negative-index-throws.js
+++ b/test/built-ins/Atomics/wake/negative-index-throws.js
@@ -17,7 +17,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisoned = {
diff --git a/test/built-ins/Atomics/wake/null-bufferdata-throws.js b/test/built-ins/Atomics/wake/null-bufferdata-throws.js
index ac4413488b..c4db98ca69 100644
--- a/test/built-ins/Atomics/wake/null-bufferdata-throws.js
+++ b/test/built-ins/Atomics/wake/null-bufferdata-throws.js
@@ -17,7 +17,7 @@ features: [ArrayBuffer, Atomics, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisoned = {
diff --git a/test/built-ins/Atomics/wake/out-of-range-index-throws.js b/test/built-ins/Atomics/wake/out-of-range-index-throws.js
index 6100ad14c8..afb8baa1bb 100644
--- a/test/built-ins/Atomics/wake/out-of-range-index-throws.js
+++ b/test/built-ins/Atomics/wake/out-of-range-index-throws.js
@@ -17,7 +17,7 @@ features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 var poisoned = {
diff --git a/test/built-ins/Atomics/wake/symbol-for-index-throws.js b/test/built-ins/Atomics/wake/symbol-for-index-throws.js
index 2d446e8eef..3c9fb1e6df 100644
--- a/test/built-ins/Atomics/wake/symbol-for-index-throws.js
+++ b/test/built-ins/Atomics/wake/symbol-for-index-throws.js
@@ -29,7 +29,7 @@ features: [Atomics, SharedArrayBuffer, Symbol, Symbol.toPrimitive, TypedArray]
 ---*/
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 const poisonedValueOf = {
diff --git a/test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js b/test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js
index 9e2e4d5be0..51e9ea8d86 100644
--- a/test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js
+++ b/test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js
@@ -39,7 +39,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/wake/wake-nan.js b/test/built-ins/Atomics/wake/wake-nan.js
index 0651be6b31..1c9a99dea0 100644
--- a/test/built-ins/Atomics/wake/wake-nan.js
+++ b/test/built-ins/Atomics/wake/wake-nan.js
@@ -18,7 +18,7 @@ $262.agent.start(`
 `);
 
 const i32a = new Int32Array(
-  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)
+  new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4)
 );
 
 $262.agent.broadcast(i32a.buffer);
diff --git a/test/built-ins/Atomics/xor/expected-return-value.js b/test/built-ins/Atomics/xor/expected-return-value.js
index 0323e77676..d275d46658 100644
--- a/test/built-ins/Atomics/xor/expected-return-value.js
+++ b/test/built-ins/Atomics/xor/expected-return-value.js
@@ -27,7 +27,7 @@ info: |
 features: [Atomics, SharedArrayBuffer, TypedArray]
 ---*/
 
-var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT);
+var buffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * 4);
 var i32a = new Int32Array(buffer);
 var initial = 0b00000001000000001000000010000001;
 var update = 0b00000001111111111000000011111111;
-- 
GitLab