bug1299007.js (629B)
1 evalInFrame = function(global) { 2 dbgGlobal = newGlobal({newCompartment: true}) 3 dbg = new dbgGlobal.Debugger 4 return function(upCount, code) { 5 dbg.addDebuggee(global) 6 var frame = dbg.getNewestFrame().older 7 for (var i = 0; i < upCount; i++) 8 if (!frame) frame = older 9 completion = frame.eval(code) 10 } 11 }(this); 12 function h() { 13 evalInFrame(0, "") 14 evalInFrame(0, "i") 15 evalInFrame(0, "a.push") 16 evalInFrame(1, "a.pushy") 17 } 18 function g() { return h(); } 19 function f() { return g(); } 20 f() 21 evaluate(` 22 g() 23 g() 24 g() 25 g() 26 g() 27 g() 28 g() 29 g() 30 g() 31 g() 32 g() 33 g() 34 g() 35 g() 36 g() 37 g() 38 g() 39 h() 40 `);