diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/wasm/regress/jit-updatepcquad.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/regress/jit-updatepcquad.js b/js/src/jit-test/tests/wasm/regress/jit-updatepcquad.js new file mode 100644 index 0000000000..69f9371b84 --- /dev/null +++ b/js/src/jit-test/tests/wasm/regress/jit-updatepcquad.js @@ -0,0 +1,31 @@ +var evalInFrame = (function (global) { + var dbgGlobal = newGlobal({newCompartment: true}); + var dbg = new dbgGlobal.Debugger(); + return function evalInFrame(code) { + dbg.addDebuggee(global); + var frame = dbg.getNewestFrame().older; + frame = frame.older || frame; + let completion = frame.eval(code); + return completion.return; + }; +})(this); + +const { exports } = wasmEvalText(` + (module + (import "global" "func" (func (param i32) (result i32))) + (func (export "func_0") (param i32)(result i32) + local.get 0 + call 0 + ) + ) +`, { + global: { + func: function jscode(i) { + return evalInFrame(`a = ${i}`); + } + } +}); + +for (i = 0; i < 20; ++i) { + assertEq(exports.func_0(i), i); +} |