bug1427774.js (747B)
1 setJitCompilerOption("baseline.warmup.trigger", 0); 2 enableGeckoProfiling(); 3 try { 4 enableSingleStepProfiling(); 5 } catch(e) { 6 quit(); 7 } 8 function removeAdd(dbg, g) { 9 dbg.removeDebuggee(g); 10 } 11 function newGlobalDebuggerPair(toggleSeq) { 12 var g = newGlobal({newCompartment: true}); 13 var dbg = new Debugger; 14 dbg.addDebuggee(g); 15 g.eval("" + function f() {return 100}); 16 return [g, dbg]; 17 } 18 function testTrap(toggleSeq) { 19 var [g, dbg] = newGlobalDebuggerPair(toggleSeq); 20 dbg.onEnterFrame = function(f) { 21 f.script.setBreakpoint(Symbol.iterator == (this) ^ (this), { 22 hit: function() { 23 toggleSeq(dbg, g); 24 } 25 }); 26 }; 27 assertEq(g.f(), 100); 28 } 29 testTrap(removeAdd);