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