tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

megamorphic-long-proto-chain.js (771B)


      1 setJitCompilerOption("ic.force-megamorphic", 1);
      2 
      3 function objectWithHops(hops) {
      4    var o = Object.create(null);
      5    o.hops = hops;
      6    for (var i = 0; i < hops; i++) {
      7        o = Object.create(o);
      8    }
      9    return o;
     10 }
     11 function test() {
     12    var objs = [];
     13    for (var i = 0; i < 32; i++) {
     14        objs.push(objectWithHops(230 + i));
     15    }
     16    for (var i = 0; i < 130; i++) {
     17        var o = objs[i % objs.length];
     18        assertEq(o.hops, 230 + (i % objs.length));
     19        assertEq("hops" in o, true);
     20        assertEq(Object.hasOwnProperty.call(o, "hops"), false);
     21        assertEq(o.missing, undefined);
     22        assertEq("missing" in o, false);
     23        assertEq(Object.hasOwnProperty.call(o, "missing"), false);
     24    }
     25 }
     26 for (var i = 0; i < 10; i++) {
     27  test();
     28 }