tor-browser

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

testShiftLeft.js (1069B)


      1 // |jit-test| valgrind
      2 
      3 /* Test the proper operation of the left shift operator. This is especially
      4 * important on ARM as an explicit mask is required at the native instruction
      5 * level. */
      6 
      7 function testShiftLeft()
      8 {
      9    var r = [];
     10    var i = 0;
     11    var j = 0;
     12 
     13    var shifts = [0,1,7,8,15,16,23,24,31];
     14 
     15    /* Samples from the simple shift range. */
     16    for (i = 0; i < shifts.length; i++)
     17        r[j++] = 1 << shifts[i];
     18 
     19    /* Samples outside the normal shift range. */
     20    for (i = 0; i < shifts.length; i++)
     21        r[j++] = 1 << (shifts[i] + 32);
     22 
     23    /* Samples far outside the normal shift range. */
     24    for (i = 0; i < shifts.length; i++)
     25        r[j++] = 1 << (shifts[i] + 224);
     26    for (i = 0; i < shifts.length; i++)
     27        r[j++] = 1 << (shifts[i] + 256);
     28 
     29    return r.join(",");
     30 }
     31 
     32 assertEq(testShiftLeft(), 
     33  "1,2,128,256,32768,65536,8388608,16777216,-2147483648,"+
     34  "1,2,128,256,32768,65536,8388608,16777216,-2147483648,"+
     35  "1,2,128,256,32768,65536,8388608,16777216,-2147483648,"+
     36  "1,2,128,256,32768,65536,8388608,16777216,-2147483648");