Frame-identity-05.js (486B)
1 // Suspended generators keep their associated Debugger.Frames gc-alive. 2 3 var g = newGlobal({newCompartment: true}); 4 g.eval("function* f() { debugger; yield 1; debugger; }"); 5 var dbg = new Debugger(g); 6 var hits = 0; 7 dbg.onDebuggerStatement = function (frame) { 8 if (hits === 0) 9 frame.seen = true; 10 else 11 assertEq(frame.seen, true); 12 gc(); 13 hits++; 14 }; 15 var it = g.f(); 16 gc(); 17 assertEq(it.next().value, 1); 18 gc(); 19 assertEq(it.next().done, true); 20 assertEq(hits, 2);