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 }