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/gc/regress-1633355.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/gc/regress-1633355.js')
-rw-r--r-- | js/src/jit-test/tests/wasm/gc/regress-1633355.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/gc/regress-1633355.js b/js/src/jit-test/tests/wasm/gc/regress-1633355.js new file mode 100644 index 0000000000..97c611efd8 --- /dev/null +++ b/js/src/jit-test/tests/wasm/gc/regress-1633355.js @@ -0,0 +1,30 @@ +// |jit-test| skip-if: !wasmGcEnabled() || wasmCompileMode().includes("ion") + +load(libdir + "asserts.js"); + +var g23 = newGlobal({newCompartment: true}); +g23.parent = this; +g23.eval(` + var dbg = new Debugger(parent); + dbg.onEnterFrame = function(frame) {} +`); +let bin = wasmTextToBinary(` + (type $wabbit (struct + (field $x (mut i32)) + (field $left (mut (ref null $wabbit))) + (field $right (mut (ref null $wabbit))) + )) + (global $g (mut (ref null $wabbit)) (ref.null $wabbit)) + (func (export "init") (param $n i32) + (global.set $g (call $make (local.get $n))) + ) + (func $make (param $n i32) (result (ref null $wabbit)) + (local $tmp i32) + (struct.new $wabbit (local.get $tmp) (ref.null $wabbit) (ref.null $wabbit)) + ) +`); +let mod = new WebAssembly.Module(bin); +let ins = new WebAssembly.Instance(mod).exports; + +// Debugger can handle non-exposable fields, like (ref T). +ins.init(6) |