js/src/jit-test/tests/ion/bug889451.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /*
     2 js> (((-1 >>> 1) + 1) * Math.pow(2, 52 - 30) + 1) & 1         
     3 0
     4 js> (((-1 >> 1) + 1) * Math.pow(2, 52 - 30) + 1) & 1 
     5 1
     6 */
     8 function f(x) {
     9   if (x >= 0) {
    10     // if it does not fail, try with lower power of 2.
    11     return (((x >>> 1) + 1) * 4194304 /* 2 ** (52 - 30) */ + 1) & 1;
    12   }
    13   return 2;
    14 }
    16 assertEq(f(-1 >>> 1), 1);
    17 assertEq(f(-1 >>> 0), 0);
    18 assertEq(f(-1 >>> 0), 0);

mercurial