// An Environment keeps its referent alive. var g = newGlobal(); g.eval("function f(x) { return 2 * x; }"); var dbg = Debugger(g); var env; dbg.onEnterFrame = function (frame) { env = frame.environment; }; assertEq(g.f(22), 44); dbg.onEnterFrame = undefined; assertEq(env.find("x"), env); assertEq(env.names().join(","), "arguments,x"); gc(); g.gc(g); gc(env); assertEq(env.find("x"), env); assertEq(env.names().join(","), "arguments,x");