summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-identity-05.js
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);