tor-browser

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

range-analysis.js (730B)


      1 // |jit-test|
      2 
      3 // Only fails with Ion.
      4 function add_xors_1() {
      5    var res = 0;
      6    var step = 4;
      7    for (var i = 0x7fffffff | 0; i >= (1 << step); i -= (i >> step)) {
      8        var x = i ^ (i << 1);
      9        res += (((x + x) + res + res) | 0);
     10    }
     11    return res;
     12 }
     13 
     14 var r1 = add_xors_1();
     15 for (var i = 0; i < 100; i++) {
     16    var r2 = add_xors_1();
     17    assertEq(r2, r1);
     18 }
     19 
     20 // Only fails with JM
     21 function add_xors_2() {
     22    var res = 0;
     23    var step = 4;
     24    for (var i = 0x7fffffff | 0; i >= (1 << step); i -= (i >> step)) {
     25        var x = i ^ (i << 1);
     26        res += ((x + x) + res + res) | 0;
     27    }
     28    return res;
     29 }
     30 
     31 var r1 = add_xors_2();
     32 for (var i = 0; i < 100; i++) {
     33    var r2 = add_xors_2();
     34    assertEq(r1, r2);
     35 }