Changeset 187460 in webkit


Ignore:
Timestamp:
Jul 27, 2015 4:04:43 PM (9 years ago)
Author:
saambarati1@gmail.com
Message:

Reduce execution time for "let" and "const" tests
https://bugs.webkit.org/show_bug.cgi?id=147291

Reviewed by Geoffrey Garen.

We don't need to loop so many times for things that will not make it
into the DFG. Also, we can loop a lot less for almost all the tests
because they're mostly testing the bytecode generator.

  • tests/stress/const-and-with-statement.js:
  • tests/stress/const-exception-handling.js:
  • tests/stress/const-loop-semantics.js:
  • tests/stress/const-not-strict-mode.js:
  • tests/stress/const-semantics.js:
  • tests/stress/const-tdz.js:
  • tests/stress/lexical-let-and-with-statement.js:
  • tests/stress/lexical-let-exception-handling.js:

(assert):

  • tests/stress/lexical-let-loop-semantics.js:

(assert):
(shouldThrowTDZ):
(.):

  • tests/stress/lexical-let-not-strict-mode.js:
  • tests/stress/lexical-let-semantics.js:

(.):

  • tests/stress/lexical-let-tdz.js:

(shouldThrowTDZ):
(.):

Location:
trunk/Source/JavaScriptCore
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r187440 r187460  
     12015-07-27  Saam barati  <saambarati1@gmail.com>
     2
     3        Reduce execution time for "let" and "const" tests
     4        https://bugs.webkit.org/show_bug.cgi?id=147291
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        We don't need to loop so many times for things that will not make it
     9        into the DFG.  Also, we can loop a lot less for almost all the tests
     10        because they're mostly testing the bytecode generator.
     11
     12        * tests/stress/const-and-with-statement.js:
     13        * tests/stress/const-exception-handling.js:
     14        * tests/stress/const-loop-semantics.js:
     15        * tests/stress/const-not-strict-mode.js:
     16        * tests/stress/const-semantics.js:
     17        * tests/stress/const-tdz.js:
     18        * tests/stress/lexical-let-and-with-statement.js:
     19        * tests/stress/lexical-let-exception-handling.js:
     20        (assert):
     21        * tests/stress/lexical-let-loop-semantics.js:
     22        (assert):
     23        (shouldThrowTDZ):
     24        (.):
     25        * tests/stress/lexical-let-not-strict-mode.js:
     26        * tests/stress/lexical-let-semantics.js:
     27        (.):
     28        * tests/stress/lexical-let-tdz.js:
     29        (shouldThrowTDZ):
     30        (.):
     31
    1322015-07-26  Yusuke Suzuki  <utatane.tea@gmail.com>
    233
  • trunk/Source/JavaScriptCore/tests/stress/const-and-with-statement.js

    r187012 r187460  
    2525// Tests
    2626
    27 const NUM_LOOPS = 10000;
     27const NUM_LOOPS = 100;
    2828
    2929;(function() {
  • trunk/Source/JavaScriptCore/tests/stress/const-exception-handling.js

    r187012 r187460  
    1515
    1616
    17 const NUM_LOOPS = 10000;
     17const NUM_LOOPS = 100;
    1818
    1919;(function () {
  • trunk/Source/JavaScriptCore/tests/stress/const-loop-semantics.js

    r187012 r187460  
    2525// ========== tests below ===========
    2626
    27 const NUM_LOOPS = 10000;
     27const NUM_LOOPS = 1000;
    2828
    2929;(function() {
  • trunk/Source/JavaScriptCore/tests/stress/const-not-strict-mode.js

    r187012 r187460  
    2626
    2727
    28 const NUM_LOOPS = 10000;
     28const NUM_LOOPS = 1000;
    2929
    3030;(function() {
  • trunk/Source/JavaScriptCore/tests/stress/const-semantics.js

    r187012 r187460  
    2525// ========== tests below ===========
    2626
    27 const NUM_LOOPS = 10000;
     27const NUM_LOOPS = 1000;
    2828
    2929
  • trunk/Source/JavaScriptCore/tests/stress/const-tdz.js

    r187012 r187460  
    2626// Test cases
    2727
    28 const NUM_LOOPS = 10000;
     28const NUM_LOOPS = 1000;
     29const SHORT_LOOPS = 100;
    2930
    3031;(function() {
     
    212213}
    213214
    214 for (var i = 0; i < NUM_LOOPS; i++) {
     215for (var i = 0; i < SHORT_LOOPS; i++) {
    215216    shouldThrowTDZ(foo);
    216217    shouldThrowTDZ(bar);
     
    245246}
    246247
    247 for (var i = 0; i < NUM_LOOPS; i++) {
     248for (var i = 0; i < SHORT_LOOPS; i++) {
    248249    shouldThrowTDZ(foo);
    249250}
  • trunk/Source/JavaScriptCore/tests/stress/lexical-let-and-with-statement.js

    r186860 r187460  
    7171    noInline(baz);
    7272
    73     for (let i = 0; i < 1000; i++) {
     73    for (let i = 0; i < 100; i++) {
    7474        foo();
    7575        bar();
  • trunk/Source/JavaScriptCore/tests/stress/lexical-let-exception-handling.js

    r186860 r187460  
    1111}
    1212noInline(assert);
     13
     14const NUM_LOOPS = 100;
    1315
    1416;(function () {
     
    7173}
    7274
    73 for (var i = 0; i < 1000; i++) {
     75for (var i = 0; i < NUM_LOOPS; i++) {
    7476    assert(foo() === 24);
    7577}
     
    141143}
    142144
    143 for (var i = 0; i < 1000; i++) {
     145for (var i = 0; i < NUM_LOOPS; i++) {
    144146    assert(foo() === 24);
    145147}
     
    194196}
    195197
    196 for (var i = 0; i < 1000; i++) {
     198for (var i = 0; i < NUM_LOOPS; i++) {
    197199    assert(foo() === 40);
    198200}
  • trunk/Source/JavaScriptCore/tests/stress/lexical-let-loop-semantics.js

    r186860 r187460  
    1111}
    1212noInline(assert);
     13
     14const NUM_LOOPS = 1000;
     15const SHORT_LOOPS = 100;
    1316
    1417function shouldThrowTDZ(func) {
     
    97100    }
    98101
    99     for (var i = 0; i < 1000; i++) {
     102    for (var i = 0; i < NUM_LOOPS; i++) {
    100103        foo();
    101104        bar();
     
    113116        shouldThrowTDZ(function() { return idx; });
    114117    }
    115     for (var i = 0; i < 1000; i++) {
     118    for (var i = 0; i < NUM_LOOPS; i++) {
    116119        foo();
    117120    }
     
    133136        shouldThrowTDZ(function() { return j; });
    134137    }
    135     for (var i = 0; i < 1000; i++) {
     138    for (var i = 0; i < NUM_LOOPS; i++) {
    136139        foo();
    137140        bar();
     
    169172    }
    170173
    171     for (var i = 0; i < 1000; i++) {
     174    for (var i = 0; i < NUM_LOOPS; i++) {
    172175        foo();
    173176        bar();
     
    188191    }
    189192
    190     for (var i = 0; i < 1000; i++) {
     193    for (var i = 0; i < NUM_LOOPS; i++) {
    191194        foo();
    192195    }
     
    199202        for (let thing = thing; !thing; ) {}
    200203    }
    201     for (var i = 0; i < 1000; i++) {
     204    for (var i = 0; i < NUM_LOOPS; i++) {
    202205        shouldThrowTDZ(foo);
    203206    }
     
    211214    }
    212215
    213     for (var i = 0; i < 1000; i++) {
     216    for (var i = 0; i < SHORT_LOOPS; i++) {
    214217        shouldThrowTDZ(foo);
    215218    }
     
    234237        for (let thing in eval("thing")) {}
    235238    }
    236     for (var i = 0; i < 1000; i++) {
     239    for (var i = 0; i < SHORT_LOOPS; i++) {
    237240        shouldThrowTDZ(foo);
    238241        shouldThrowTDZ(bar);
     
    275278        return thing;
    276279    }
    277     for (var i = 0; i < 1000; i++) {
     280    for (var i = 0; i < NUM_LOOPS; i++) {
    278281        shouldThrowTDZ(foo);
    279282        shouldThrowTDZ(bar);
     
    329332        return thing;
    330333    }
    331     for (var i = 0; i < 1000; i++) {
     334    for (var i = 0; i < SHORT_LOOPS; i++) {
    332335        shouldThrowTDZ(foo);
    333336        shouldThrowTDZ(bar);
     
    355358    }
    356359
    357     for (var i = 0; i < 1000; i++) {
     360    for (var i = 0; i < SHORT_LOOPS; i++) {
    358361        shouldThrowTDZ(foo);
    359362        shouldThrowTDZ(bar);
  • trunk/Source/JavaScriptCore/tests/stress/lexical-let-not-strict-mode.js

    r186860 r187460  
    3434}
    3535
    36 for (var i = 0; i < 10000; i++) {
     36for (var i = 0; i < 1000; i++) {
    3737    shouldThrowTDZ(foo);
    3838    shouldThrowTDZ(bar);
     
    120120}
    121121
    122 for (var i = 0; i < 10000; i++) {
     122for (var i = 0; i < 100; i++) {
    123123    foo();
    124124    bar();
  • trunk/Source/JavaScriptCore/tests/stress/lexical-let-semantics.js

    r186860 r187460  
    1414// ========== tests below ===========
    1515
     16const NUM_LOOPS = 1000;
    1617
    1718let globalLet = "helloWorld";
     
    4647
    4748var arrOfFuncs = [];
    48 for (var i = 0; i < 1000; i++) {
     49for (var i = 0; i < NUM_LOOPS; i++) {
    4950    let globalLet = "inner";
    5051    assert(globalLet === "inner");
     
    9798}
    9899
    99 for (var i = 0; i < 1000; i++) {
     100for (var i = 0; i < NUM_LOOPS; i++) {
    100101    assert(foo() === 200);
    101102}
     
    116117}
    117118
    118 for (var i = 0; i < 1000; i++) {
     119for (var i = 0; i < NUM_LOOPS; i++) {
    119120    foo(i);
    120121}
     
    142143}
    143144
    144 for (var i = 0; i < 1000; i++) {
     145for (var i = 0; i < NUM_LOOPS; i++) {
    145146    foo();
    146147}
     
    165166}
    166167
    167 for (var i = 0; i < 1000; i++) {
     168for (var i = 0; i < NUM_LOOPS; i++) {
    168169    foo();
    169170}
     
    189190}
    190191
    191 for (var i = 0; i < 1000; i++) {
     192for (var i = 0; i < NUM_LOOPS; i++) {
    192193    foo();
    193194}
     
    214215}
    215216
    216 for (var i = 0; i < 1000; i++) {
     217for (var i = 0; i < NUM_LOOPS; i++) {
    217218    foo();
    218219}
     
    238239}
    239240
    240 for (var i = 0; i < 1000; i++) {
     241for (var i = 0; i < NUM_LOOPS; i++) {
    241242    foo();
    242243}
     
    264265}
    265266
    266 for (var i = 0; i < 1000; i++) {
     267for (var i = 0; i < NUM_LOOPS; i++) {
    267268    foo();
    268269    bar();
     
    283284}
    284285
    285 for (var i = 0; i < 1000; i++) {
     286for (var i = 0; i < NUM_LOOPS; i++) {
    286287    foo();
    287288}
     
    301302}
    302303
    303 for (var i = 0; i < 1000; i++) {
     304for (var i = 0; i < NUM_LOOPS; i++) {
    304305    foo();
    305306}
     
    319320}
    320321
    321 for (var i = 0; i < 1000; i++) {
     322for (var i = 0; i < NUM_LOOPS; i++) {
    322323    foo();
    323324}
     
    348349}
    349350
    350 for (var i = 0; i < 1000; i++) {
     351for (var i = 0; i < NUM_LOOPS; i++) {
    351352    foo();
    352353}
     
    375376}
    376377
    377 for (var i = 0; i < 1000; i++) {
     378for (var i = 0; i < NUM_LOOPS; i++) {
    378379    assert(foo(10) === 41);
    379380}
     
    404405}
    405406
    406 for (var i = 0; i < 1000; i++) {
     407for (var i = 0; i < NUM_LOOPS; i++) {
    407408    assert(foo(10)() === 41);
    408409}
  • trunk/Source/JavaScriptCore/tests/stress/lexical-let-tdz.js

    r186860 r187460  
    2424noInline(shouldThrowTDZ);
    2525
     26const NUM_LOOPS = 1000;
     27const SHORT_LOOPS = 100;
     28
    2629
    2730;(function() {
     
    3942    let {x: prop, y: prop2} = {x: 20, y: prop};
    4043}
    41 for (var i = 0; i < 1000; i++) {
     44for (var i = 0; i < NUM_LOOPS; i++) {
    4245    shouldThrowTDZ(foo);
    4346    shouldThrowTDZ(bar);
     
    6063}
    6164
    62 for (var i = 0; i < 1000; i++) {
     65for (var i = 0; i < NUM_LOOPS; i++) {
    6366    shouldThrowTDZ(foo);
    6467    shouldThrowTDZ(bar);
     
    7780}
    7881
    79 for (var i = 0; i < 1000; i++) {
     82for (var i = 0; i < NUM_LOOPS; i++) {
    8083    shouldThrowTDZ(foo);
    8184}
     
    9699}
    97100
    98 for (var i = 0; i < 1000; i++) {
     101for (var i = 0; i < NUM_LOOPS; i++) {
    99102    shouldThrowTDZ(foo);
    100103}
     
    117120}
    118121
    119 for (var i = 0; i < 1000; i++) {
     122for (var i = 0; i < NUM_LOOPS; i++) {
    120123    shouldThrowTDZ(foo);
    121124}
     
    136139}
    137140
    138 for (var i = 0; i < 1000; i++) {
     141for (var i = 0; i < NUM_LOOPS; i++) {
    139142    shouldThrowTDZ(foo);
    140143}
     
    148151}
    149152
    150 for (var i = 0; i < 1000; i++) {
     153for (var i = 0; i < NUM_LOOPS; i++) {
    151154    shouldThrowTDZ(foo);
    152155}
     
    166169}
    167170
    168 for (var i = 0; i < 1000; i++) {
     171for (var i = 0; i < NUM_LOOPS; i++) {
    169172    shouldThrowTDZ(foo);
    170173    shouldThrowTDZ(bar);
     
    187190}
    188191
    189 for (var i = 0; i < 1000; i++) {
     192for (var i = 0; i < NUM_LOOPS; i++) {
    190193    shouldThrowTDZ(foo);
    191194}
     
    210213}
    211214
    212 for (var i = 0; i < 1000; i++) {
     215for (var i = 0; i < NUM_LOOPS; i++) {
    213216    shouldThrowTDZ(foo);
    214217    shouldThrowTDZ(bar);
     
    225228}
    226229
    227 for (var i = 0; i < 1; i++) {
     230for (var i = 0; i < SHORT_LOOPS; i++) {
    228231    shouldThrowTDZ(foo);
    229232}
     
    243246}
    244247
    245 for (var i = 0; i < 1; i++) {
     248for (var i = 0; i < SHORT_LOOPS; i++) {
    246249    shouldThrowTDZ(foo);
    247250}
     
    262265}
    263266
    264 for (var i = 0; i < 1000; i++) {
     267for (var i = 0; i < NUM_LOOPS; i++) {
    265268    shouldThrowTDZ(foo);
    266269    shouldThrowTDZ(bar);
     
    282285}
    283286
    284 for (var i = 0; i < 1000; i++) {
     287for (var i = 0; i < NUM_LOOPS; i++) {
    285288    shouldThrowTDZ(foo);
    286289    shouldThrowTDZ(bar);
     
    324327}
    325328
    326 for (var i = 0; i < 1000; i++) {
     329for (var i = 0; i < SHORT_LOOPS; i++) {
    327330    shouldThrowTDZ(foo);
    328331    shouldThrowTDZ(bar);
     
    396399}
    397400
    398 for (var i = 0; i < 1000; i++) {
     401for (var i = 0; i < NUM_LOOPS; i++) {
    399402    shouldThrowTDZ(function() { foo(20); });
    400403    shouldThrowTDZ(function() { bar(20); });
     
    460463}
    461464
    462 for (var i = 0; i < 1000; i++) {
     465for (var i = 0; i < NUM_LOOPS; i++) {
    463466    shouldThrowTDZ(foo);
    464467    shouldThrowTDZ(boo);
Note: See TracChangeset for help on using the changeset viewer.