tor-browser

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

bug909997.js (963B)


      1 // getJitCompilerOptions will always return array with zeros when JIT is
      2 // disabled. Therefore we quit now.
      3 if (inJit() == 'Baseline is disabled.') {
      4    print("JIT is disabled.");
      5    quit();
      6 }
      7 
      8 var wait = 100;
      9 
     10 var method_A = function() {
     11    for (var t = 0; t < wait; ++t) {}
     12 }
     13 
     14 var method_B = function() {
     15    for (var t = 0; t < wait; ++t) {}
     16 }
     17 
     18 var method_C = function() {
     19    for (var t = 0; t < wait; ++t) {}
     20 }
     21 
     22 var method_D = function() {
     23    for (var t = 0; t < wait; ++t) {}
     24 }
     25 
     26 var func = [method_A, method_B, method_C, method_D]
     27 
     28 for (var n = 0; n < 4; ++n) {
     29    try {
     30 setJitCompilerOption("baseline.enable", n & 1);
     31 setJitCompilerOption("ion.enable", n & 2 ? 1: 0);
     32    } catch(e) {
     33 if (e.toString().includes("on the stack"))
     34     continue;
     35 throw e;
     36    }
     37    var opt = getJitCompilerOptions();
     38    assertEq(opt["baseline.enable"], n & 1);
     39    assertEq(opt["ion.enable"], n & 2 ? 1 : 0);
     40    for (var i = 0; i < 1001; ++i)
     41        func[n]();
     42 }