From e91645c812720abdc5432c5cba6d85510f4fba19 Mon Sep 17 00:00:00 2001 From: Rick Waldron <waldron.rick@gmail.com> Date: Tue, 20 Nov 2018 15:57:39 -0500 Subject: [PATCH] Atomics: (bigint) initialize BigInt64Array before calling $262.agent.start(string-of-program-code) --- .../Atomics/notify/bigint/notify-all-on-loc.js | 8 ++++---- test/built-ins/Atomics/wait/bigint/nan-for-timeout.js | 8 ++++---- .../Atomics/wait/bigint/negative-timeout-agent.js | 8 ++++---- test/built-ins/Atomics/wait/bigint/value-not-equal.js | 9 ++++----- .../bigint/waiterlist-block-indexedposition-wake.js | 8 ++++---- .../bigint/waiterlist-order-of-operations-is-fifo.js | 11 +++++------ .../Atomics/wait/bigint/was-woken-before-timeout.js | 8 ++++---- 7 files changed, 29 insertions(+), 31 deletions(-) diff --git a/test/built-ins/Atomics/notify/bigint/notify-all-on-loc.js b/test/built-ins/Atomics/notify/bigint/notify-all-on-loc.js index 9375849799..790d099c5f 100644 --- a/test/built-ins/Atomics/notify/bigint/notify-all-on-loc.js +++ b/test/built-ins/Atomics/notify/bigint/notify-all-on-loc.js @@ -22,6 +22,10 @@ const BUFFER_SIZE = 4; // `Atomics.notify`. const TIMEOUT = $262.agent.timeouts.long; +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * BUFFER_SIZE) +); + for (var i = 0; i < NUMAGENT; i++) { $262.agent.start(` $262.agent.receiveBroadcast(function(sab) { @@ -53,10 +57,6 @@ $262.agent.start(` }); `); -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * BUFFER_SIZE) -); - $262.agent.safeBroadcast(i64a); // Wait for agents to be running. 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 bc128b612f..f50a11ebf3 100644 --- a/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js +++ b/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js @@ -17,6 +17,10 @@ includes: [atomicsHelper.js] features: [Atomics, BigInt, SharedArrayBuffer, TypedArray] ---*/ +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) +); + const RUNNING = 1; $262.agent.start(` @@ -29,10 +33,6 @@ $262.agent.start(` }); `); -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) -); - $262.agent.safeBroadcast(i64a); $262.agent.waitUntil(i64a, RUNNING, 1n); 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 a0799b2120..8c9346bd9c 100644 --- a/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js +++ b/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js @@ -9,6 +9,10 @@ includes: [atomicsHelper.js] features: [Atomics, BigInt, SharedArrayBuffer, TypedArray] ---*/ +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) +); + const RUNNING = 1; $262.agent.start(` @@ -21,10 +25,6 @@ $262.agent.start(` }); `); -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) -); - $262.agent.safeBroadcast(i64a); $262.agent.waitUntil(i64a, RUNNING, 1n); 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 1c48790c7f..d23f3bead5 100644 --- a/test/built-ins/Atomics/wait/bigint/value-not-equal.js +++ b/test/built-ins/Atomics/wait/bigint/value-not-equal.js @@ -19,9 +19,12 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray] ---*/ const RUNNING = 1; - const value = "42n"; +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) +); + $262.agent.start(` $262.agent.receiveBroadcast(function(sab) { const i64a = new BigInt64Array(sab); @@ -33,10 +36,6 @@ $262.agent.start(` }); `); -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) -); - // NB: We don't actually explicitly need to wait for the agent to start in this // test case, we only do it for consistency with other test cases which do // require the main agent to wait and yield control. 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 5b700cb57f..6f9c7c678c 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 @@ -25,6 +25,10 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray] var NUMAGENT = 2; var RUNNING = 4; +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 5) +); + $262.agent.start(` $262.agent.receiveBroadcast(function(sab) { const i64a = new BigInt64Array(sab); @@ -47,10 +51,6 @@ $262.agent.start(` }); `); -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 5) -); - $262.agent.safeBroadcast(i64a); // Wait until all agents started. 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 5eb18a5b56..bebe05a0b9 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 @@ -16,11 +16,14 @@ includes: [atomicsHelper.js] features: [Atomics, BigInt, SharedArrayBuffer, TypedArray] ---*/ -var NUMAGENT = 3; - var WAIT_INDEX = 0; var RUNNING = 1; var LOCK_INDEX = 2; +var NUMAGENT = 3; + +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) +); for (var i = 0; i < NUMAGENT; i++) { var agentNum = i; @@ -50,10 +53,6 @@ for (var i = 0; i < NUMAGENT; i++) { `); } -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) -); - $262.agent.safeBroadcast(i64a); // Wait until all agents started. 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 98a3e2319a..9359ebe34d 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 @@ -25,6 +25,10 @@ features: [Atomics, BigInt, SharedArrayBuffer, TypedArray] const RUNNING = 1; const TIMEOUT = $262.agent.timeouts.huge; +const i64a = new BigInt64Array( + new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) +); + $262.agent.start(` $262.agent.receiveBroadcast(function(sab) { const i64a = new BigInt64Array(sab); @@ -40,10 +44,6 @@ $262.agent.start(` }); `); -const i64a = new BigInt64Array( - new SharedArrayBuffer(BigInt64Array.BYTES_PER_ELEMENT * 4) -); - $262.agent.safeBroadcast(i64a); $262.agent.waitUntil(i64a, RUNNING, 1n); -- GitLab