js/src/jit-test/tests/ion/invalidation/framedescriptors.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/ion/invalidation/framedescriptors.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,40 @@
     1.4 +var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */
     1.5 +function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
     1.6 +function core_md5(x, len) {
     1.7 +    var a =  1732584193;
     1.8 +    var b = -271733879;
     1.9 +    var c = -1732584194;
    1.10 +    var d =  271733878;
    1.11 +    for(var i = 0; i < x.length; i += 16)
    1.12 +        c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
    1.13 +}
    1.14 +function md5_cmn(q, a, b, x, s, t) {
    1.15 +    return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
    1.16 +}
    1.17 +function md5_ff(a, b, c, d, x, s, t) {
    1.18 +    return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
    1.19 +}
    1.20 +function safe_add(x, y) {
    1.21 +    var lsw = (x & 0xFFFF) + (y & 0xFFFF);
    1.22 +    var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
    1.23 +    return (msw << 16) | (lsw & 0xFFFF);
    1.24 +}
    1.25 +function bit_rol(num, cnt) {
    1.26 +    return (num << cnt) | (num >>> (32 - cnt));
    1.27 +}
    1.28 +function str2binl(str) {
    1.29 +    var bin = Array();
    1.30 +    var mask = (1 << chrsz) - 1;
    1.31 +    for(var i = 0; i < str.length * chrsz; i += chrsz)
    1.32 +        bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
    1.33 +    return bin;
    1.34 +}
    1.35 +function binl2hex(binarray) {}
    1.36 +var plainText = "Rebellious subjects, enemies to peace,\n\
    1.37 +Throw your mistemper'd weapons to the ground,\n\
    1.38 +To know our further pleasure in this case,\n\
    1.39 +To old Free-town, our common judgment-place.\n\
    1.40 +Once more, on pain of death, all men depart."
    1.41 +for (var i = 0; i <4; i++)
    1.42 +    plainText += plainText;
    1.43 +var md5Output = hex_md5(plainText);

mercurial