Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 var objs;
3 function init()
4 {
5 objs = new Object();
6 var x = new Object();
7 objs.root1 = x;
8 objs.root2 = new Object();
9 x.ptr = new Object();
10 x = null;
12 /*
13 * Clears out the arena lists. Otherwise all the objects above
14 * would be considered to be created during the incremental GC.
15 */
16 gc();
17 }
19 /*
20 * Use eval here so that the interpreter frames end up higher on the
21 * stack, which avoids them being seen later on by the conservative
22 * scanner.
23 */
24 eval("init()");
26 gcslice(0);
27 selectforgc(objs.root2);
28 gcslice(1);
29 objs.root2.ptr = objs.root1.ptr;
30 objs.root1.ptr = null;
31 gcslice();