From fcb3b91e4ad2cf7c657f89b727c0366a7fd514a1 Mon Sep 17 00:00:00 2001 From: Rick Waldron Date: Wed, 24 Jun 2020 16:51:52 -0400 Subject: [PATCH] Atomics.waitAsync: await $262.agent.getReportAsync() in a loop, instead of calling thrice asynchronously. Fixes 2664 (#2676) --- .../Atomics/waitAsync/bigint/good-views.js | 16 +++++++--------- test/built-ins/Atomics/waitAsync/good-views.js | 15 +++++++-------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/test/built-ins/Atomics/waitAsync/bigint/good-views.js b/test/built-ins/Atomics/waitAsync/bigint/good-views.js index d025e95d08..e9a68af751 100644 --- a/test/built-ins/Atomics/waitAsync/bigint/good-views.js +++ b/test/built-ins/Atomics/waitAsync/bigint/good-views.js @@ -11,7 +11,6 @@ features: [Atomics.waitAsync, Atomics, BigInt] ---*/ assert.sameValue(typeof Atomics.waitAsync, 'function'); - $262.agent.start(` (async () => { var sab = new SharedArrayBuffer(2048); @@ -45,11 +44,12 @@ $262.agent.start(` `); -Promise.all([ - $262.agent.getReportAsync(), - $262.agent.getReportAsync(), - $262.agent.getReportAsync(), -]).then(outcomes => { +(async () => { + const outcomes = []; + + for (let i = 0; i < 3; i++) { + outcomes.push(await $262.agent.getReportAsync()); + } assert.sameValue( outcomes[0], @@ -67,6 +67,4 @@ Promise.all([ 'C not-equal,not-equal,not-equal,not-equal,not-equal', 'All C values are not equal' ); -}).then($DONE, $DONE); - - +})().then($DONE, $DONE); diff --git a/test/built-ins/Atomics/waitAsync/good-views.js b/test/built-ins/Atomics/waitAsync/good-views.js index 29d40f737c..ba97dbd00e 100644 --- a/test/built-ins/Atomics/waitAsync/good-views.js +++ b/test/built-ins/Atomics/waitAsync/good-views.js @@ -11,7 +11,6 @@ features: [Atomics.waitAsync, Atomics] ---*/ assert.sameValue(typeof Atomics.waitAsync, 'function'); - $262.agent.start(` (async () => { var sab = new SharedArrayBuffer(1024); @@ -44,11 +43,12 @@ $262.agent.start(` `); -Promise.all([ - $262.agent.getReportAsync(), - $262.agent.getReportAsync(), - $262.agent.getReportAsync(), -]).then(outcomes => { +(async () => { + const outcomes = []; + + for (let i = 0; i < 3; i++) { + outcomes.push(await $262.agent.getReportAsync()); + } assert.sameValue( outcomes[0], @@ -66,5 +66,4 @@ Promise.all([ 'C not-equal,not-equal,not-equal,not-equal,not-equal', 'All C values are not equal' ); -}).then($DONE, $DONE); - +})().then($DONE, $DONE);