Frame-onPop-18.js (525B)
1 // A garbage collection in the debugger compartment does not disturb onPop 2 // handlers. 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger(g); 5 var log; 6 7 dbg.onEnterFrame = function handleEnter(frame) { 8 log += '('; 9 frame.onPop = function handlePop(completion) { 10 log += ')'; 11 }; 12 }; 13 14 dbg.onDebuggerStatement = function handleDebugger (frame) { 15 log += 'd'; 16 // GC in the debugger's compartment only. 17 gc(dbg); 18 }; 19 20 log = ''; 21 assertEq(g.eval('debugger; 42;'), 42); 22 assertEq(log, '(d)');