tor-browser

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

regress-203278-3.js (952B)


      1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 //-----------------------------------------------------------------------------
      7 var BUGNUMBER = 203278;
      8 var summary = 'Don\'t crash in recursive js_MarkGCThing';
      9 var actual = 'FAIL';
     10 var expect = 'PASS';
     11 
     12 printBugNumber(BUGNUMBER);
     13 printStatus (summary);
     14 
     15 // Prepare  array a to cause O(a.length^2) behaviour in the current
     16 // DeutschSchorrWaite implementation
     17 
     18 var a = new Array(1000 * 100);
     19 
     20 var i = a.length;
     21 while (i-- != 0)
     22 {
     23  a[i] = {};
     24 }
     25 
     26 // Prepare linked list that causes recursion during GC with
     27 // depth O(list size)
     28 
     29 for (i = 0; i != 50*1000; ++i)
     30 {
     31  a = [a, a.concat()];
     32 }
     33 
     34 if (typeof gc == 'function')
     35 {
     36  gc();
     37 }
     38 
     39 actual = 'PASS';
     40 
     41 reportCompare(expect, actual, summary);