js/src/jit-test/tests/gc/incremental-02.js

Thu, 15 Jan 2015 21:03:48 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:03:48 +0100
branch
TOR_BUG_9701
changeset 11
deefc01c0e14
permissions
-rw-r--r--

Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)

     1 var objs;
     3 function init()
     4 {
     5     objs = new Object();
     6     var x = new Object();
     7     objs.root = x;
     8     x.a = new Object();
     9     x.b = new Object();
    11     /*
    12      * Clears out the arena lists. Otherwise all the objects above
    13      * would be considered to be created during the incremental GC.
    14      */
    15     gc();
    16 }
    18 /*
    19  * Use eval here so that the interpreter frames end up higher on the
    20  * stack, which avoids them being seen later on by the conservative
    21  * scanner.
    22  */
    23 eval("init()");
    25 gcslice(0);
    26 selectforgc(objs.root);
    27 gcslice(1);
    28 delete objs.root.b;
    29 delete objs.root.a;
    30 gcslice();

mercurial