diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /js/src/jit-test/tests/wasm/tail-calls/bug1865044.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/wasm/tail-calls/bug1865044.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/tail-calls/bug1865044.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/tail-calls/bug1865044.js b/js/src/jit-test/tests/wasm/tail-calls/bug1865044.js new file mode 100644 index 0000000000..042e641f32 --- /dev/null +++ b/js/src/jit-test/tests/wasm/tail-calls/bug1865044.js @@ -0,0 +1,34 @@ +// |jit-test| --more-compartments; skip-variant-if: --wasm-test-serialization, true; skip-variant-if: --wasm-compiler=ion, true; skip-if: !wasmGcEnabled() || !('Function' in WebAssembly) + +a = newGlobal(); +a.b = this; +a.eval("(" + function () { + Debugger(b).onExceptionUnwind = function () {} +} + ")()"); +function c(d) { + binary = wasmTextToBinary(d) + e = new WebAssembly.Module(binary) + return new WebAssembly.Instance(e) +} +f = c(` +(type $g + (func (param i64 i64 funcref) (result i64)) +) +(func (export "vis") (param i64 i64 funcref) (result i64) + local.get 0 + local.get 1 + local.get 2 + local.get 2 + ref.cast (ref $g) + return_call_ref $g +) +`); +h = f.exports["vis"]; +i = new WebAssembly.Function({ + parameters: [ "i64", "i64", "funcref" ], results: ["i64"] +}, function () {}); + +assertErrorMessage( + () => h(3n, 1n, i), + TypeError, /can't convert undefined to BigInt/ +); |