diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/wasm/stack.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/stack.js b/js/src/jit-test/tests/wasm/stack.js new file mode 100644 index 0000000000..3c0dc72c58 --- /dev/null +++ b/js/src/jit-test/tests/wasm/stack.js @@ -0,0 +1,67 @@ +// Test instructions with no return value interposed between pushes and pops. +wasmFullPass(` (module + (memory 1) + + (func (result i32) + (local $local f64) + i32.const 0 + i32.const 16 + i32.store + i32.const 0 + i32.load + i32.const 0 + if + i32.const 0 + call $returnVoid + i32.const 21 + i32.store + i32.const 22 + drop + else + i32.const 0 + i32.const 17 + i32.store + end + block (result i32) + block (result i32) + i32.const 2 + if (result i32) + i32.const 500 + else + i32.const 501 + end + end + end + drop + i32.const 0 + i32.load + f64.const 5.0 + local.set $local + f64.const 5.0 + local.tee $local + drop + block + i32.const 0 + i32.const 18 + i32.store + nop + i32.const 0 + i32.const 19 + call $returnVoid + i32.store + loop + i32.const 1 + if + i32.const 0 + i32.const 20 + i32.store + end + end + end + i32.add + ) + + (func $returnVoid) + + (export "run" (func 0)) +)`, 33); |