Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
2 /* Handle recompilation on overflow of inc/dec operations. */
4 function local()
5 {
6 var j = 0x7ffffff0;
7 for (var i = 0; i < 100; i++)
8 j++;
9 assertEq(j, 2147483732);
10 }
11 local();
13 function olocal()
14 {
15 var j = 0x7ffffff0;
16 for (var i = 0; i < 100; i++) {
17 if (j++ == 5000)
18 break;
19 }
20 assertEq(j, 2147483732);
21 }
22 olocal();
24 function arg(j)
25 {
26 for (var i = 0; i < 100; i++)
27 j++;
28 assertEq(j, 2147483732);
29 }
30 arg(0x7ffffff0);
32 function oarg(j)
33 {
34 for (var i = 0; i < 100; i++) {
35 if (j++ == 5000)
36 break;
37 }
38 assertEq(j, 2147483732);
39 }
40 oarg(0x7ffffff0);
42 // basic global inc/dec correctness
43 var x = 1.23;
44 x = x--;
45 x = x++;
46 x = ++x;
47 x = --x;
48 assertEq(x, 1.23);
50 var g = 0x7ffffff0;
51 function glob()
52 {
53 for (var i = 0; i < 100; i++)
54 g++;
55 assertEq(g, 2147483732);
56 }
57 glob();
59 function gname()
60 {
61 n = 0x7ffffff0;
62 for (var i = 0; i < 100; i++)
63 n++;
64 assertEq(n, 2147483732);
65 }
66 gname();
68 function prop()
69 {
70 var v = {f: 0x7ffffff0};
71 for (var i = 0; i < 100; i++)
72 v.f++;
73 assertEq(v.f, 2147483732);
74 }
75 prop();
77 function elem(v, f)
78 {
79 for (var i = 0; i < 100; i++)
80 v[f]++;
81 assertEq(v.f, 2147483732);
82 }
83 elem({f: 0x7ffffff0}, "f");
85 function name()
86 {
87 var v = 0x7ffffff0;
88 var i;
89 eval("for (i = 0; i < 100; i++) v++");
90 assertEq(v + 10, 2147483742);
91 }
92 name();