diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/drop.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/drop.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/drop.js b/js/src/jit-test/tests/wasm/drop.js new file mode 100644 index 000000000..bf65e587c --- /dev/null +++ b/js/src/jit-test/tests/wasm/drop.js @@ -0,0 +1,47 @@ +load(libdir + "wasm.js"); + +for (let type of ['i32', 'f32', 'f64']) { + assertEq(wasmEvalText(` + (module + (func $test (result ${type}) (param $p ${type}) (param $p2 ${type}) + get_local $p + get_local $p2 + (block) + drop + ) + (export "test" $test) + ) + `).exports.test(0x1337abc0, 0xffffffff), 0x1337abc0); +} + +assertEq(wasmEvalText(` + (module + (func $test (result i32) (param $p i32) (param $p2 f32) (param $p3 f64) (param $p4 i32) + get_local $p + get_local $p2 + get_local $p3 + get_local $p4 + (block) + drop + (block) + (block) + drop + drop + ) + (export "test" $test) + ) +`).exports.test(0x1337abc0, 0xffffffff), 0x1337abc0); + +setJitCompilerOption('wasm.test-mode', 1); + +assertEqI64(wasmEvalText(` + (module + (func $test (result i64) (param $p i64) (param $p2 i64) + get_local $p + get_local $p2 + (block) + drop + ) + (export "test" $test) + ) +`).exports.test(createI64(0x1337abc0), createI64(0xffffffff | 0)), createI64(0x1337abc0)); |