tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Frame-identity-04.js (561B)


      1 // Test that on-stack Debugger.Frames are not GC'd even if they are only reachable
      2 // from the js::Debugger::frames table.
      3 
      4 var g = newGlobal({newCompartment: true});
      5 g.eval("function f(n) { if (n) f(n - 1); debugger; }");
      6 var dbg = new Debugger(g);
      7 var hits = 0;
      8 dbg.onDebuggerStatement = function (frame) {
      9    if (hits === 0) {
     10        for (; frame; frame = frame.older)
     11            frame.seen = true;
     12    } else {
     13        for (; frame; frame = frame.older)
     14            assertEq(frame.seen, true);
     15    }
     16    gc();
     17    hits++;
     18 };
     19 g.f(20);
     20 assertEq(hits, 21);