tor-browser

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

bug1804634.js (619B)


      1 // |jit-test| --ion-instruction-reordering=off
      2 
      3 function inner(o) {
      4  return o.x;
      5 }
      6 function outer(o) {
      7  return inner(o);
      8 }
      9 
     10 with ({}) {}
     11 
     12 var arr = [];
     13 for (var i = 0; i < 3; i++) {
     14  var obj = {x: 1};
     15  obj["y" + i] = 2;
     16  arr.push(obj);
     17 }
     18 
     19 // Transpile a GuardMultipleShapes with 3 shapes.
     20 for (var i = 0; i < 2000; i++) {
     21  assertEq(outer(arr[i % arr.length]), 1);
     22 }
     23 
     24 // Bail out ten times with new shapes.
     25 for (var i = 0; i < 10; i++) {
     26  var obj = {x: 1};
     27  obj["z" + i] = 3;
     28  assertEq(outer(obj), 1);
     29 }
     30 
     31 // Trigger a recompilation.
     32 for (var i = 0; i < 2000; i++) {
     33  assertEq(outer(arr[i % arr.length]), 1);
     34 }