tor-browser

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

spidermonkey.js (1329B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 // SpiderMonkey JS shell benchmark script
      6 //
      7 // Usage: run $JS spidermonkey.js --help
      8 
      9 loadRelativeToScript("shell-bench.js");
     10 
     11 var SpiderMonkey = class extends Host {
     12  start_turn() {}
     13 
     14  end_turn() {
     15    clearKeptObjects();
     16    maybegc();
     17    drainJobQueue();
     18  }
     19 
     20  suspend(duration) {
     21    sleep(duration);
     22  }
     23 
     24  get minorGCCount() {
     25    return performance.mozMemory.gc.minorGCCount;
     26  }
     27  get majorGCCount() {
     28    return performance.mozMemory.gc.majorGCCount;
     29  }
     30  get GCSliceCount() {
     31    return performance.mozMemory.gc.sliceCount;
     32  }
     33  get gcBytes() {
     34    return performance.mozMemory.gc.zone.gcBytes;
     35  }
     36  get gcAllocTrigger() {
     37    return performance.mozMemory.gc.zone.gcAllocTrigger;
     38  }
     39 
     40  features = {
     41    haveMemorySizes: true,
     42    haveGCCounts: true,
     43  };
     44 };
     45 
     46 var gHost = new SpiderMonkey();
     47 var { opts, rest: mutators } = argparse.parse_args(scriptArgs);
     48 run(opts, mutators);
     49 
     50 print("\nTest results:\n");
     51 report_results();
     52 
     53 var outfile = "spidermonkey-results.json";
     54 var origOut = redirect(outfile);
     55 print(JSON.stringify(gPerf.results));
     56 redirect(origOut);
     57 print(`Wrote detailed results to ${outfile}`);