michael@0: load(libdir + "asm.js"); michael@0: michael@0: var body = michael@0: ' "use asm";\ michael@0: var i8=new global.Int8Array(buffer);\ michael@0: function g(i,j,k) {\ michael@0: i=i|0;\ michael@0: j=j|0;\ michael@0: k=k|0;\ michael@0: var a=0,b=0,c=0,d=0,e=0,f=0;\ michael@0: a=(i+j)|0;\ michael@0: b=(k+j)|0;\ michael@0: c=(i+k)|0;\ michael@0: b=(a+b)|0;\ michael@0: d=(b+c+i+j)|0;\ michael@0: e=(a+j+c)|0;\ michael@0: f=(a+i+k)|0;\ michael@0: i8[i] = f;\ michael@0: return (a+b+c+d+e+f)|0;\ michael@0: }\ michael@0: return g;'; michael@0: michael@0: var buf=new ArrayBuffer(4096); michael@0: var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf); michael@0: assertEq(g(1,2,3), 46); michael@0: assertEq(new Int8Array(buf)[1], 7); michael@0: michael@0: var body = michael@0: ' "use asm";\ michael@0: var i8=new global.Int8Array(buffer);\ michael@0: function g(i,j,k) {\ michael@0: i=i|0;\ michael@0: j=j|0;\ michael@0: k=k|0;\ michael@0: var a=0,b=0,c=0,d=0,e=0,f=0;\ michael@0: a=(i+j)|0;\ michael@0: b=(k+j)|0;\ michael@0: c=(i+k)|0;\ michael@0: b=(a+b)|0;\ michael@0: d=(b+c+i+j)|0;\ michael@0: e=(a+j+c)|0;\ michael@0: f=(a+i+k)|0;\ michael@0: i8[i] = e;\ michael@0: return (a+b+c+d+e+f)|0;\ michael@0: }\ michael@0: return g;'; michael@0: michael@0: var buf=new ArrayBuffer(4096); michael@0: var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf); michael@0: assertEq(g(1,2,3), 46); michael@0: assertEq(new Int8Array(buf)[1], 9); michael@0: michael@0: var body = michael@0: ' "use asm";\ michael@0: var i8=new global.Int8Array(buffer);\ michael@0: function g(i,j,k) {\ michael@0: i=i|0;\ michael@0: j=j|0;\ michael@0: k=k|0;\ michael@0: var a=0,b=0,c=0,d=0,e=0,f=0,g=0;\ michael@0: a=(i+j)|0;\ michael@0: b=(k+j)|0;\ michael@0: c=(i+k)|0;\ michael@0: b=(a+b)|0;\ michael@0: d=(b+c+i+j)|0;\ michael@0: e=(a+j+c)|0;\ michael@0: f=(a+i+k)|0;\ michael@0: g=(f+j+b)|0;\ michael@0: i8[i] = g;\ michael@0: return (a+b+c+d+e+f+g)|0;\ michael@0: }\ michael@0: return g;'; michael@0: michael@0: var buf=new ArrayBuffer(4096); michael@0: var g = asmLink(asmCompile('global','foreign','buffer',body), this, null, buf); michael@0: assertEq(g(1,2,3), 63); michael@0: assertEq(new Int8Array(buf)[1], 17);