js/src/jit-test/tests/asm.js/testX86ByteStore.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

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);

mercurial