summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/drop.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/jit-test/tests/wasm/drop.js
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/wasm/drop.js')
-rw-r--r--js/src/jit-test/tests/wasm/drop.js45
1 files changed, 45 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 0000000000..3a2bda66e5
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/drop.js
@@ -0,0 +1,45 @@
+for (let type of ['i32', 'f32', 'f64']) {
+ assertEq(wasmEvalText(`
+ (module
+ (func $test (param $p ${type}) (param $p2 ${type}) (result ${type})
+ local.get $p
+ local.get $p2
+ (block)
+ drop
+ )
+ (export "test" (func $test))
+ )
+ `).exports.test(0x1337abc0, 0xffffffff), 0x1337abc0);
+}
+
+assertEq(wasmEvalText(`
+ (module
+ (func $test (param $p i32) (param $p2 f32) (param $p3 f64) (param $p4 i32) (result i32)
+ local.get $p
+ local.get $p2
+ local.get $p3
+ local.get $p4
+ (block)
+ drop
+ (block)
+ (block)
+ drop
+ drop
+ )
+ (export "test" (func $test))
+ )
+`).exports.test(0x1337abc0, 0xffffffff), 0x1337abc0);
+
+wasmAssert(`
+ (module
+ (func $test (param $p i64) (param $p2 i64) (result i64)
+ local.get $p
+ local.get $p2
+ (block)
+ drop
+ )
+ (export "test" (func $test))
+ )
+`, [
+ { type: 'i64', func: '$test', args: ['(i64.const 0x1337abc0)', '(i64.const -1)'], expected: '0x1337abc0' }
+]);