tor-browser

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

recover-callee.js (617B)


      1 // |jit-test| --fast-warmup; --no-threads
      2 
      3 setJitCompilerOption("baseline.warmup.trigger", 0);
      4 setJitCompilerOption("ion.warmup.trigger", 100);
      5 
      6 var uceFault = function (i) {
      7  if (i > 98)
      8    uceFault = function (i) {return true;};
      9  return false;
     10 }
     11 
     12 function test() {
     13  var f = function inner(i) {
     14    // JSOp::Callee is used for the reference to |inner|.
     15    // MCallee can be recovered.
     16    var foo = inner;
     17    assertRecoveredOnBailout(foo, true);
     18    if (uceFault(i) || uceFault(i)) {
     19      assertEq(foo, inner);
     20    }
     21  };
     22  with ({}); // No inlining.
     23  for (var i = 0; i < 100; i++) {
     24    f(i);
     25  }
     26 }
     27 test();