blob: 3243ec65badb0fabd562ea4681bd3ad0d7ae3ede (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
// 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();
|