-1:000000000000 | 0:78730995b7f6 |
---|---|
1 // An Environment keeps its referent alive. | |
2 | |
3 var g = newGlobal(); | |
4 g.eval("function f(x) { return 2 * x; }"); | |
5 var dbg = Debugger(g); | |
6 var env; | |
7 dbg.onEnterFrame = function (frame) { env = frame.environment; }; | |
8 assertEq(g.f(22), 44); | |
9 dbg.onEnterFrame = undefined; | |
10 | |
11 assertEq(env.find("x"), env); | |
12 assertEq(env.names().join(","), "arguments,x"); | |
13 | |
14 gc(); | |
15 g.gc(g); | |
16 gc(env); | |
17 | |
18 assertEq(env.find("x"), env); | |
19 assertEq(env.names().join(","), "arguments,x"); |