// Test that block scopes cannot be resurrected by onStep.

var g = newGlobal({newCompartment: true});
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function(frame) {
    frame.onStep = (function() {
        frame.environment;
    });
};

g.eval("debugger; for (let i = 0; i < 1; i++) (function(){});");

// If the last freshened block scope was incorrectly resurrected by onStep
// above, GCing will assert.
gc();

g.eval("debugger; { let i = 0; (function(){ i = 42; }); }");
gc();

g.eval("debugger; try { throw 42; } catch (e) { };");
gc();
