tor-browser

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

Environment-gc-03.js (551B)


      1 // Test that block scopes cannot be resurrected by onStep.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = new Debugger(g);
      5 dbg.onDebuggerStatement = function(frame) {
      6    frame.onStep = (function() {
      7        frame.environment;
      8    });
      9 };
     10 
     11 g.eval("debugger; for (let i = 0; i < 1; i++) (function(){});");
     12 
     13 // If the last freshened block scope was incorrectly resurrected by onStep
     14 // above, GCing will assert.
     15 gc();
     16 
     17 g.eval("debugger; { let i = 0; (function(){ i = 42; }); }");
     18 gc();
     19 
     20 g.eval("debugger; try { throw 42; } catch (e) { };");
     21 gc();