diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/bug1417961.js')
-rw-r--r-- | js/src/jit-test/tests/debug/bug1417961.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/bug1417961.js b/js/src/jit-test/tests/debug/bug1417961.js new file mode 100644 index 0000000000..a10f709f71 --- /dev/null +++ b/js/src/jit-test/tests/debug/bug1417961.js @@ -0,0 +1,31 @@ +var evalInFrame = (function evalInFrame(global) { + var dbgGlobal = newGlobal({newCompartment: true}); + var dbg = new dbgGlobal.Debugger(); + return function evalInFrame(upCount, code) { + dbg.addDebuggee(global); + var frame = dbg.getNewestFrame().older; + for (var i = 0; i < upCount; i++) + frame = frame.older; + var completion = frame.eval(code); + if (completion.throw) + throw 1; + }; +})(this); +function f() { + for (var i = 0; i < 10; - i) + g(); +} +function h() { + evalInFrame(0, "a.push(1)"); + evalInFrame(1, "a.push(2)"); +} +function g() { + h(); +} +try { + f(); +} catch(e) {} +var a = []; +for (var i = 0; i < 3; i++) + g(); +assertEq(a.length, 6); |