tor-browser

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

bug774006.js (877B)


      1 // Test IonMonkey SetElementIC when ran with --ion-eager.
      2 
      3 function setelem(o, i, v) {
      4    o[i] = v;
      5 }
      6 
      7 var arr = new Array();
      8 var obj = {};
      9 
     10 setelem(arr, "prop0", 2);
     11 setelem(arr, 0, 2); // invalidate
     12 setelem(arr, 1, 1); // recompile with setElemIC
     13 
     14 setelem(arr, 0, 0); // set known element.
     15 setelem(arr, 2, 2); // push last element.
     16 setelem(arr, 4, 4); // test out-of-bounds.
     17 setelem(arr, "prop0", 0);
     18 setelem(arr, "prop1", 1);
     19 
     20 setelem(obj, "prop0", 2);
     21 setelem(obj, 0, 2);
     22 setelem(obj, 1, 1);
     23 
     24 setelem(obj, 0, 0);
     25 setelem(obj, 2, 2);
     26 setelem(obj, 4, 4);
     27 setelem(obj, "prop0", 0);
     28 setelem(obj, "prop1", 1);
     29 
     30 assertEq(arr.prop0, 0);
     31 assertEq(arr.prop1, 1);
     32 assertEq(arr[0], 0);
     33 assertEq(arr[1], 1);
     34 assertEq(arr[2], 2);
     35 assertEq(arr[4], 4);
     36 
     37 assertEq(obj.prop0, 0);
     38 assertEq(obj.prop1, 1);
     39 assertEq(obj[0], 0);
     40 assertEq(obj[1], 1);
     41 assertEq(obj[2], 2);
     42 assertEq(obj[4], 4);