|
1 test(); |
|
2 |
|
3 function test() |
|
4 { |
|
5 function generate_big_object_graph() |
|
6 { |
|
7 var root = {}; |
|
8 f(root, 17); |
|
9 return root; |
|
10 function f(parent, depth) { |
|
11 if (depth == 0) |
|
12 return; |
|
13 --depth; |
|
14 |
|
15 f(parent.a = {}, depth); |
|
16 f(parent.b = {}, depth); |
|
17 } |
|
18 } |
|
19 |
|
20 function f(obj) { |
|
21 with (obj) |
|
22 return arguments; |
|
23 } |
|
24 |
|
25 for(var i = 0; i != 10; ++i) |
|
26 { |
|
27 gc(); |
|
28 var x = null; |
|
29 x = f(generate_big_object_graph()); |
|
30 |
|
31 gc(); //all used |
|
32 |
|
33 x = null; |
|
34 |
|
35 gc(); //all free |
|
36 } |
|
37 } |