summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/passes/remove-non-js-ops.txt4
-rw-r--r--test/wasm2js/atomics_32.2asm.js7
-rw-r--r--test/wasm2js/atomics_32.2asm.js.opt7
-rw-r--r--test/wasm2js/atomics_32.wast2
4 files changed, 11 insertions, 9 deletions
diff --git a/test/passes/remove-non-js-ops.txt b/test/passes/remove-non-js-ops.txt
index d3fa090a5..ec42a28e1 100644
--- a/test/passes/remove-non-js-ops.txt
+++ b/test/passes/remove-non-js-ops.txt
@@ -14,7 +14,7 @@
(type $f64_=>_none (func (param f64)))
(type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32)))
(type $i32_=>_none (func (param i32)))
- (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32)))
+ (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32)))
(type $i32_i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32 i32) (result i32)))
(type $none_=>_i32 (func (result i32)))
(type $none_=>_none (func))
@@ -28,7 +28,7 @@
(import "env" "wasm2js_memory_fill" (func $wasm2js_memory_fill (param i32 i32 i32)))
(import "env" "wasm2js_memory_copy" (func $wasm2js_memory_copy (param i32 i32 i32)))
(import "env" "wasm2js_data_drop" (func $wasm2js_data_drop (param i32)))
- (import "env" "wasm2js_atomic_wait_i32" (func $wasm2js_atomic_wait_i32 (param i32 i32 i32 i32) (result i32)))
+ (import "env" "wasm2js_atomic_wait_i32" (func $wasm2js_atomic_wait_i32 (param i32 i32 i32 i32 i32) (result i32)))
(import "env" "wasm2js_atomic_rmw_i64" (func $wasm2js_atomic_rmw_i64 (param i32 i32 i32 i32 i32 i32) (result i32)))
(import "env" "wasm2js_get_stashed_bits" (func $wasm2js_get_stashed_bits (result i32)))
(import "env" "wasm2js_trap" (func $wasm2js_trap))
diff --git a/test/wasm2js/atomics_32.2asm.js b/test/wasm2js/atomics_32.2asm.js
index 66a9c1769..98c5677e6 100644
--- a/test/wasm2js/atomics_32.2asm.js
+++ b/test/wasm2js/atomics_32.2asm.js
@@ -24,7 +24,8 @@
memorySegments[0] = base64DecodeToExistingUint8Array(new Uint8Array(6), 0, "aGVsbG8s");
memorySegments[1] = base64DecodeToExistingUint8Array(new Uint8Array(6), 0, "d29ybGQh");
- function wasm2js_atomic_wait_i32(ptr, expected, timeoutLow, timeoutHigh) {
+ function wasm2js_atomic_wait_i32(offset, ptr, expected, timeoutLow, timeoutHigh) {
+ ptr = (ptr + offset) >> 2;
var timeout = Infinity;
if (timeoutHigh >= 0) {
// Convert from nanoseconds to milliseconds
@@ -32,7 +33,7 @@ memorySegments[1] = base64DecodeToExistingUint8Array(new Uint8Array(6), 0, "d29y
timeout = ((timeoutLow >>> 0) / 1e6) + timeoutHigh * (4294967296 / 1e6);
}
var view = new Int32Array(bufferView.buffer); // TODO cache
- var result = Atomics.wait(view, ptr >> 2, expected, timeout);
+ var result = Atomics.wait(view, ptr, expected, timeout);
if (result == 'ok') return 0;
if (result == 'not-equal') return 1;
if (result == 'timed-out') return 2;
@@ -119,7 +120,7 @@ function asmFunc(imports) {
Atomics.load(HEAP32, 1028 >> 2) | 0;
Atomics.store(HEAP32, 100 >> 2, 200);
i64toi32_i32$0 = -1;
- wasm2js_atomic_wait_i32(4 | 0, 8 | 0, -1 | 0, i64toi32_i32$0 | 0) | 0;
+ wasm2js_atomic_wait_i32(4 | 0, 8 | 0, 16 | 0, -1 | 0, i64toi32_i32$0 | 0) | 0;
wasm2js_memory_init(0, 512, 0, 4);
wasm2js_memory_init(1, 1024, 4, 2);
Atomics.notify(HEAP32, 4 >> 2, 2);
diff --git a/test/wasm2js/atomics_32.2asm.js.opt b/test/wasm2js/atomics_32.2asm.js.opt
index 6f42d5df5..5cb990b7d 100644
--- a/test/wasm2js/atomics_32.2asm.js.opt
+++ b/test/wasm2js/atomics_32.2asm.js.opt
@@ -24,7 +24,8 @@
memorySegments[0] = base64DecodeToExistingUint8Array(new Uint8Array(6), 0, "aGVsbG8s");
memorySegments[1] = base64DecodeToExistingUint8Array(new Uint8Array(6), 0, "d29ybGQh");
- function wasm2js_atomic_wait_i32(ptr, expected, timeoutLow, timeoutHigh) {
+ function wasm2js_atomic_wait_i32(offset, ptr, expected, timeoutLow, timeoutHigh) {
+ ptr = (ptr + offset) >> 2;
var timeout = Infinity;
if (timeoutHigh >= 0) {
// Convert from nanoseconds to milliseconds
@@ -32,7 +33,7 @@ memorySegments[1] = base64DecodeToExistingUint8Array(new Uint8Array(6), 0, "d29y
timeout = ((timeoutLow >>> 0) / 1e6) + timeoutHigh * (4294967296 / 1e6);
}
var view = new Int32Array(bufferView.buffer); // TODO cache
- var result = Atomics.wait(view, ptr >> 2, expected, timeout);
+ var result = Atomics.wait(view, ptr, expected, timeout);
if (result == 'ok') return 0;
if (result == 'not-equal') return 1;
if (result == 'timed-out') return 2;
@@ -117,7 +118,7 @@ function asmFunc(imports) {
Atomics.load(HEAPU16, 514);
Atomics.load(HEAP32, 257);
Atomics.store(HEAP32, 25, 200);
- wasm2js_atomic_wait_i32(4, 8, -1, -1) | 0;
+ wasm2js_atomic_wait_i32(4, 8, 16, -1, -1) | 0;
wasm2js_memory_init(0, 512, 0, 4);
wasm2js_memory_init(1, 1024, 4, 2);
Atomics.notify(HEAP32, 1, 2);
diff --git a/test/wasm2js/atomics_32.wast b/test/wasm2js/atomics_32.wast
index c6408f162..73ec8f152 100644
--- a/test/wasm2js/atomics_32.wast
+++ b/test/wasm2js/atomics_32.wast
@@ -12,7 +12,7 @@
(local.set $x (i32.atomic.load16_u (i32.const 1028)))
(local.set $x (i32.atomic.load (i32.const 1028)))
(i32.atomic.store (i32.const 100) (i32.const 200))
- (local.set $x (memory.atomic.wait32 (i32.const 4) (i32.const 8) (i64.const -1)))
+ (local.set $x (memory.atomic.wait32 offset=4 (i32.const 8) (i32.const 16) (i64.const -1)))
(memory.init 0 (i32.const 512) (i32.const 0) (i32.const 4))
(memory.init 1 (i32.const 1024) (i32.const 4) (i32.const 2))
(local.set $x (memory.atomic.notify (i32.const 4) (i32.const 2)))