Sat, 03 Jan 2015 20:18:00 +0100
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.
2 /* Handle recompilation of arithmetic operations, and on-stack int -> double conversion. */
4 function add(x, y)
5 {
6 var z = x + y;
7 assertEq(z, 2147483732);
8 assertEq(z - 10, 2147483722);
9 }
10 add(0x7ffffff0, 100);
12 function mul(x, y)
13 {
14 var z = x * y;
15 assertEq(z, 4294967264);
16 }
17 mul(0x7ffffff0, 2);
19 function div1(x, y)
20 {
21 var z = x / y;
22 assertEq(z + 10, 20);
23 }
24 div1(100, 10);
26 function div2(x, y)
27 {
28 var z = x / y;
29 assertEq(z + 10, 20.5);
30 }
31 div2(105, 10);
33 function uncopy(x, y)
34 {
35 var q = x;
36 x += y;
37 q++;
38 assertEq(q, 2147483633);
39 assertEq(x, 2147483732);
40 }
41 uncopy(0x7ffffff0, 100);
43 function addmore(x, y)
44 {
45 var q = (x + 10) + (x + y);
46 assertEq(q, 4294967374);
47 x = q;
48 }
49 addmore(0x7ffffff0, 100);