js/src/jit-test/tests/parallel/ic-setproperty.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 + "parallelarray-helpers.js");
     3 function set(o, v) {
     4   // Padding to prevent inlining.
     5   var foo = 0;
     6   var foo = 0;
     7   var foo = 0;
     8   var foo = 0;
     9   var foo = 0;
    10   var foo = 0;
    11   var foo = 0;
    12   var foo = 0;
    13   var foo = 0;
    14   var foo = 0;
    15   var foo = 0;
    16   var foo = 0;
    17   var foo = 0;
    18   var foo = 0;
    19   var foo = 0;
    20   var foo = 0;
    21   var foo = 0;
    22   var foo = 0;
    23   var foo = 0;
    24   var foo = 0;
    25   var foo = 0;
    26   var foo = 0;
    27   var foo = 0;
    28   var foo = 0;
    29   var foo = 0;
    30   var foo = 0;
    31   var foo = 0;
    32   var foo = 0;
    33   var foo = 0;
    34   var foo = 0;
    35   var foo = 0;
    36   var foo = 0;
    37   var foo = 0;
    38   var foo = 0;
    39   o.foo = v;
    40   var foo = 0;
    41   var foo = 0;
    42   var foo = 0;
    43   var foo = 0;
    44   var foo = 0;
    45   var foo = 0;
    46   var foo = 0;
    47   var foo = 0;
    48   var foo = 0;
    49   var foo = 0;
    50   var foo = 0;
    51   var foo = 0;
    52   var foo = 0;
    53   var foo = 0;
    54   var foo = 0;
    55   var foo = 0;
    56   var foo = 0;
    57   var foo = 0;
    58   var foo = 0;
    59   var foo = 0;
    60   var foo = 0;
    61   var foo = 0;
    62   var foo = 0;
    63   var foo = 0;
    64   var foo = 0;
    65   var foo = 0;
    66   var foo = 0;
    67   var foo = 0;
    68   var foo = 0;
    69   var foo = 0;
    70   var foo = 0;
    71 }
    72 set({ foo: 0 }, 42);
    74 function testSetPropertySlot() {
    75   assertArraySeqParResultsEq(
    76     range(0, minItemsTestingThreshold),
    77     "map",
    78     function (i) {
    79       var o1 = {};
    80       var o2 = {};
    81       var o3 = {};
    82       var o4 = {};
    83       // Defines .foo
    84       set(o1, i + 1);
    85       set(o2, i + 2);
    86       set(o3, i + 3);
    87       set(o4, i + 4);
    88       // Sets .foo
    89       set(o1, i + 5);
    90       set(o2, i + 6);
    91       set(o3, i + 7);
    92       set(o4, i + 8);
    93       return o1.foo + o2.foo + o3.foo + o4.foo;
    94     });
    95 }
    97 function testSetArrayLength() {
    98   assertArraySeqParResultsEq(
    99     range(0, minItemsTestingThreshold),
   100     "map",
   101     function (i) {
   102       var a = [];
   103       a.length = i;
   104       return a.length;
   105     });
   106 }
   108 if (getBuildConfiguration().parallelJS) {
   109   testSetPropertySlot();
   110   testSetArrayLength();
   111 }

mercurial