js/src/jit-test/tests/jaeger/recompile/bug641225.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/jaeger/recompile/bug641225.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,151 @@
     1.4 +gczeal(1);
     1.5 +var o0 = Function.prototype;
     1.6 +o1 = {};
     1.7 +var o4 = Error.prototype;
     1.8 +o5 = new Int32Array(100);
     1.9 +o6 = Proxy.create({
    1.10 +});
    1.11 +o8 = Proxy.createFunction({
    1.12 +    get: function() {return 10; },
    1.13 +}, function(){ return {}; }, function(){ return {}; });
    1.14 +o9 = {};
    1.15 +var o10 = -500;
    1.16 +var o12 = new Int32Array(100);
    1.17 +function f0(o) {
    1.18 +}
    1.19 +function f1(o) {
    1.20 +}
    1.21 +function f3(o) {
    1.22 +    with(o) {}
    1.23 +    o[o5] = o5;
    1.24 +}
    1.25 +function f5(o) {
    1.26 +}for(var f2 in o9) {
    1.27 +    for(var i1=0; i1<83; i1++) {
    1.28 +        for(var i3=0; i3<98; i3++) {
    1.29 +            for(var x in f1) { f1[x]; };
    1.30 +        }
    1.31 +        Object.defineProperty(o0, 'constructor', {enumerable: true,unused: 1 });
    1.32 +        f1(f5);
    1.33 +        f4(f3);
    1.34 +        f3(o8);
    1.35 +        f2(o5);
    1.36 +        o9.toString(1, 2);
    1.37 +        f4.caller = o3;
    1.38 +        f2(o6);
    1.39 +        f0(f2);
    1.40 +        f1(f2);
    1.41 +        f0(f1);
    1.42 +        var key = Object.getOwnPropertyNames(o9)[2]; if(key) delete o9[key];
    1.43 +        var props = Object.getOwnPropertyNames(o5);
    1.44 +        if (props.length > 6) {
    1.45 +            var prop = props[6];
    1.46 +            o8[prop] = o5[prop];
    1.47 +        }
    1.48 +        f3(f1);
    1.49 +        f1(f5);
    1.50 +    }
    1.51 +    for(var o3 in f1) {
    1.52 +        f1(o3);
    1.53 +        f4(o3);
    1.54 +        o0 == f4;
    1.55 +        f1(f3);
    1.56 +        Object.freeze(o12);
    1.57 +        f0(o9);
    1.58 +        new f0(o1);
    1.59 +        o4 = o5.call(o4, o4, o4, o4, o4, o4);
    1.60 +        f2(o10);
    1.61 +        var prop = Object.getOwnPropertyNames(o0)[15];
    1.62 +        if (prop) { Object.defineProperty(o0, prop, {configurable: true,enumerable: true,get: function(){},set: function(){},unused: 1 }); }
    1.63 +        f3(f1);
    1.64 +        new f2(o0);
    1.65 +    }
    1.66 +    f5(o9);
    1.67 +    gc();
    1.68 +    f0(o2);
    1.69 +    f3(f4);
    1.70 +    new f4(o7);
    1.71 +    f1 = new o10(f1, f1, f1, f1);
    1.72 +    f5(o10);
    1.73 +    f5(o7);
    1.74 +    f0(o7);
    1.75 +    f1(o10);
    1.76 +    f3(o10);
    1.77 +    delete f0.constructor;
    1.78 +    f0(f3);
    1.79 +    f1 = wrap(f3);
    1.80 +    f4(f1);
    1.81 +    delete o1.prototype;
    1.82 +    f4(o5);
    1.83 +    f2(f2);
    1.84 +    o1 + '';
    1.85 +    f2(f2);
    1.86 +    f0(o12);
    1.87 +    f0(o12);
    1.88 +    f1(o3);
    1.89 +    o5[3] = 8.3;
    1.90 +    o10['__proto_' + '_'];
    1.91 +}
    1.92 +for(var o2 in f5) {
    1.93 +    for(var o10 in f3) {
    1.94 +        delete f2['__proto_' + '_'];
    1.95 +        o8 = f1.toString;
    1.96 +        f1(o1);
    1.97 +        f0(o9);
    1.98 +        f2(o12);
    1.99 +        var key = Object.getOwnPropertyNames(o3)[19]; if(key) o9 = o3[key];
   1.100 +        f1(o10);
   1.101 +        f4(f1);
   1.102 +        f1(o1);
   1.103 +        f1(o7);
   1.104 +        for(var x in o1) { o1[x]; };
   1.105 +        f0(o8);
   1.106 +        f4(o1);
   1.107 +        f0(o1);
   1.108 +        f0.p0 = o6;
   1.109 +        f3(o9);
   1.110 +        f5(o8);
   1.111 +        f2 >>> o7;
   1.112 +        if(o3 === o8) {}
   1.113 +        f5(o3);
   1.114 +    }
   1.115 +    o5[0] = f4;
   1.116 +    o0.caller = function() { };
   1.117 +    Object.freeze(f0);
   1.118 +    f4(o3);
   1.119 +    o7.p0 = o3;
   1.120 +    f1(f5);
   1.121 +    f4(o10);
   1.122 +    f2(o5);
   1.123 +    f2(o5);
   1.124 +    f0(o3);
   1.125 +    o9.watch('p3', function() {});
   1.126 +    o8[o8] = o8;
   1.127 +    f0(o5);
   1.128 +    f1(o6);
   1.129 +    f2 = Object.create(o5);
   1.130 +    var key = Object.getOwnPropertyNames(o11)[23]; if(key) f2 = o11[key];
   1.131 +    f5(o9);
   1.132 +    o12 = o6.bind(o12, o12, o12);
   1.133 +    f5(f4);
   1.134 +    f1(o1);
   1.135 +    f0(o11);
   1.136 +    f1(o11);
   1.137 +    eval('f4');
   1.138 +    f4(o1);
   1.139 +    Object.isExtensible(o7);
   1.140 +}
   1.141 +(function() {
   1.142 +    f1(o12);
   1.143 +    f5 + '';
   1.144 +    if(o8 != o3) {}
   1.145 +})();
   1.146 +f1(o10);
   1.147 +f3(f0);
   1.148 +o4.toSource = function() { };
   1.149 +var _o = o1;
   1.150 +var prop = Object.getOwnPropertyNames(_o)[5];
   1.151 +if (prop) { _o[prop](o2, o2); }
   1.152 +f3(o0);
   1.153 +f1(f3);
   1.154 +Object.isExtensible(f1);

mercurial