summaryrefslogtreecommitdiffstats
path: root/js/src/devtools/gc/tests/objGraph.js
blob: 607633173b0731fce480ebda6702eb07a8c2a6b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
test();

function test()
{
  function generate_big_object_graph()
  {
    var root = {};
    f(root, 17);
    return root;
    function f(parent, depth) {
      if (depth == 0) 
          return;
      --depth;

      f(parent.a = {}, depth);
      f(parent.b = {}, depth);
    }
  }

  function f(obj) {
    with (obj)
      return arguments;
  }

  for(var i = 0; i != 10; ++i) 
  {
    gc();
    var x = null;
    x = f(generate_big_object_graph());

    gc(); //all used

    x = null;

    gc(); //all free
  }
}