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.
1 load(libdir + "asm.js");
3 var body =
4 ' "use asm";\
5 var i8=new global.Int8Array(buffer);\
6 function g(i,j,k) {\
7 i=i|0;\
8 j=j|0;\
9 k=k|0;\
10 var a=0,b=0,c=0,d=0,e=0,f=0;\
11 a=(i+j)|0;\
12 b=(k+j)|0;\
13 c=(i+k)|0;\
14 b=(a+b)|0;\
15 d=(b+c+i+j)|0;\
16 e=(a+j+c)|0;\
17 f=(a+i+k)|0;\
18 i8[i] = f;\
19 return (a+b+c+d+e+f)|0;\
20 }\
21 return g;';
23 var buf=new ArrayBuffer(4096);
24 var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf);
25 assertEq(g(1,2,3), 46);
26 assertEq(new Int8Array(buf)[1], 7);
28 var body =
29 ' "use asm";\
30 var i8=new global.Int8Array(buffer);\
31 function g(i,j,k) {\
32 i=i|0;\
33 j=j|0;\
34 k=k|0;\
35 var a=0,b=0,c=0,d=0,e=0,f=0;\
36 a=(i+j)|0;\
37 b=(k+j)|0;\
38 c=(i+k)|0;\
39 b=(a+b)|0;\
40 d=(b+c+i+j)|0;\
41 e=(a+j+c)|0;\
42 f=(a+i+k)|0;\
43 i8[i] = e;\
44 return (a+b+c+d+e+f)|0;\
45 }\
46 return g;';
48 var buf=new ArrayBuffer(4096);
49 var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf);
50 assertEq(g(1,2,3), 46);
51 assertEq(new Int8Array(buf)[1], 9);
53 var body =
54 ' "use asm";\
55 var i8=new global.Int8Array(buffer);\
56 function g(i,j,k) {\
57 i=i|0;\
58 j=j|0;\
59 k=k|0;\
60 var a=0,b=0,c=0,d=0,e=0,f=0,g=0;\
61 a=(i+j)|0;\
62 b=(k+j)|0;\
63 c=(i+k)|0;\
64 b=(a+b)|0;\
65 d=(b+c+i+j)|0;\
66 e=(a+j+c)|0;\
67 f=(a+i+k)|0;\
68 g=(f+j+b)|0;\
69 i8[i] = g;\
70 return (a+b+c+d+e+f+g)|0;\
71 }\
72 return g;';
74 var buf=new ArrayBuffer(4096);
75 var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf);
76 assertEq(g(1,2,3), 63);
77 assertEq(new Int8Array(buf)[1], 17);