summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js')
-rw-r--r--js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js b/js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js
new file mode 100644
index 0000000000..5b1cdd4192
--- /dev/null
+++ b/js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js
@@ -0,0 +1,31 @@
+// |jit-test| exitstatus: 6; skip-if: !wasmDebuggingEnabled()
+
+// Don't include wasm.js in timeout tests: when wasm isn't supported, it will
+// quit(0) which will cause the test to fail.
+
+newGlobal({newCompartment: true}).Debugger().addDebuggee(this);
+
+var t = new WebAssembly.Table({
+ initial: 1,
+ element: "anyfunc"
+});
+
+new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(`
+(module
+ (import "imports" "t" (table 1 funcref))
+ (func $iloop loop $top br $top end)
+ (elem (i32.const 0) $iloop))
+`)), { imports: { t } });
+
+outer = new WebAssembly.Instance(new WebAssembly.Module(wasmTextToBinary(`
+(module
+ (import "imports" "t" (table 1 funcref))
+ (type $v2v (func))
+ (func (export "run")
+ i32.const 0
+ call_indirect (type $v2v))
+ )`)), { imports: { t } });
+
+setJitCompilerOption('simulator.always-interrupt', 1);
+timeout(1);
+outer.exports.run();