summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/regress/bug1502886.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/regress/bug1502886.js')
-rw-r--r--js/src/jit-test/tests/wasm/regress/bug1502886.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/regress/bug1502886.js b/js/src/jit-test/tests/wasm/regress/bug1502886.js
new file mode 100644
index 0000000000..a45bf774a4
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/regress/bug1502886.js
@@ -0,0 +1,30 @@
+newGlobal({newCompartment: true});
+g = newGlobal({newCompartment: true});
+var dbg = Debugger(g);
+gczeal(2, 100);
+function f(x, initFunc) {
+ newGlobal({newCompartment: true});
+ g.eval(`
+ var binary = wasmTextToBinary('${x}');
+ new WebAssembly.Instance(new WebAssembly.Module(binary));
+ `);
+ var wasmScript = dbg.findScripts().filter(s => s.format == 'wasm')[0];
+ var offsets = wasmScript.getPossibleBreakpointOffsets();
+ initFunc({
+ wasmScript,
+ breakpoints: offsets
+ })
+};
+try {
+ f('(module (func nop nop) (export "" (func 0)))',
+ function({
+ wasmScript,
+ breakpoints
+ }) {
+ breakpoints.forEach(function(offset) {
+ wasmScript.setBreakpoint(offset, s = {});
+ });
+ }
+ );
+ f();
+} catch (e) {}