blob: a2a2c8de85f18d5baaecb9971c506c5844be75cc (
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
|
var objs;
function init()
{
objs = new Object();
var x = new Object();
objs.root = x;
x.a = new Object();
x.b = new Object();
/*
* Clears out the arena lists. Otherwise all the objects above
* would be considered to be created during the incremental GC.
*/
gc();
}
/*
* Use eval here so that the interpreter frames end up higher on the
* stack, which avoids them being seen later on by the conservative
* scanner.
*/
eval("init()");
gcslice(0); // Start IGC, but don't mark anything.
selectforgc(objs.root);
gcslice(1);
delete objs.root.b;
delete objs.root.a;
gcslice();
|