(pages, offset)
| 96 | } |
| 97 | |
| 98 | function TestAtomicI32Wait(pages, offset) { |
| 99 | if (!%IsAtomicsWaitAllowed()) return; |
| 100 | print(arguments.callee.name); |
| 101 | |
| 102 | let memory = CreateBigSharedWasmMemory64(pages); |
| 103 | |
| 104 | assertEquals(kAtomicWaitNotEqual, WasmI32AtomicWait(memory, offset, 0, 42, -1)); |
| 105 | assertEquals(kAtomicWaitTimedOut, WasmI32AtomicWait(memory, offset, 0, 0, 0)); |
| 106 | assertEquals(kAtomicWaitNotEqual, WasmI32AtomicWait(memory, 0, offset, 42, -1)); |
| 107 | assertEquals(kAtomicWaitTimedOut, WasmI32AtomicWait(memory, 0, offset, 0, 0)); |
| 108 | |
| 109 | let i32a = new Int32Array(memory.buffer); |
| 110 | i32a[offset / 4] = 1; |
| 111 | |
| 112 | assertEquals(kAtomicWaitNotEqual, WasmI32AtomicWait(memory, offset, 0, 0, -1)); |
| 113 | assertEquals(kAtomicWaitTimedOut, WasmI32AtomicWait(memory, offset, 0, 1, 0)); |
| 114 | assertEquals(kAtomicWaitNotEqual, WasmI32AtomicWait(memory, 0, offset, 0, -1)); |
| 115 | assertEquals(kAtomicWaitTimedOut, WasmI32AtomicWait(memory, 0, offset, 1, 0)); |
| 116 | } |
| 117 | |
| 118 | function TestAtomicI64Wait(pages, offset) { |
| 119 | if (!%IsAtomicsWaitAllowed()) return; |
no test coverage detected