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