tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

incremental-01.js (663B)


      1 var objs;
      2 
      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;
     11 
     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 }
     18 
     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()");
     25 
     26 gcslice(0); // Start IGC, but don't mark anything.
     27 selectforgc(objs.root2);
     28 gcslice(1);
     29 objs.root2.ptr = objs.root1.ptr;
     30 objs.root1.ptr = null;
     31 gcslice();