tor-browser

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

bug1331350.js (864B)


      1 // |jit-test| --ion-eager
      2 function optimize(a, b) {
      3    a = a | 0;
      4    b = b | 0;
      5 
      6    if ((a & 3) === 0) {
      7        a = a + 1 | 0
      8    }
      9 
     10    if ((a & 7) !== 0) {
     11        a = a + 1 | 0
     12    }
     13 
     14    return a + b | 0
     15 }
     16 
     17 for (var i=0; i<20; i++) {
     18    assertEq(optimize(4 | 0, 6 | 0), 12);
     19    assertEq(optimize(7 | 0, 11 | 0), 19);
     20 }
     21 
     22 function not_optimizable(a, b) {
     23    a = a | 0;
     24    b = b | 0;
     25 
     26    if ((a & 3) > 0) {
     27        a = a + 1 | 0
     28    }
     29 
     30    if ((a & 3) >= 0) {
     31        a = a + 1 | 0
     32    }
     33 
     34    if ((a & 7) < 0) {
     35        a = a + 1 | 0
     36    }
     37 
     38    if ((a & 7) <= 0) {
     39        a = a + 1 | 0
     40    }
     41 
     42    if ((b & 3) === 1) {
     43        b = b + 1 | 0
     44    }
     45 
     46    if ((b & 7) !== 3) {
     47        b = b + 1 | 0
     48    }
     49 
     50    return a + b | 0
     51 }
     52 
     53 for (var i=0; i<20; i++) {
     54    assertEq(not_optimizable(4 | 0, 6 | 0), 12);
     55    assertEq(not_optimizable(7 | 0, 11 | 0), 20);
     56 }