diff options
Diffstat (limited to 'js/src/jit-test/tests/wasm/exceptions/unreachable.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/exceptions/unreachable.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/exceptions/unreachable.js b/js/src/jit-test/tests/wasm/exceptions/unreachable.js new file mode 100644 index 0000000000..f0091bc617 --- /dev/null +++ b/js/src/jit-test/tests/wasm/exceptions/unreachable.js @@ -0,0 +1,33 @@ +// |jit-test| test-also=--wasm-function-references --wasm-gc --wasm-compiler=optimizing; test-also=--wasm-function-references --wasm-gc --wasm-compiler=baseline; + +wasmFailValidateText(`(module + (tag) + (tag) + (func (export "test") + try + throw 0 + catch 0 + unreachable + catch 1 + i32.add + end + ) +)`, /popping/); + +if (wasmGcEnabled()) { + wasmFailValidateText(`(module + (tag) + (tag) + (func (export "test") (param (ref extern)) + (local $nonNullable (ref extern)) + try + throw 0 + catch 0 + (local.set $nonNullable (local.get 0)) + catch 1 + (local.get $nonNullable) + drop + end + ) + )`, /unset local/); +} |