diff options
Diffstat (limited to 'test/wasm2js')
-rw-r--r-- | test/wasm2js/atomics_32.2asm.js | 7 | ||||
-rw-r--r-- | test/wasm2js/atomics_32.2asm.js.opt | 7 | ||||
-rw-r--r-- | test/wasm2js/atomics_32.wast | 2 |
3 files changed, 9 insertions, 7 deletions
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))) |