Changeset 245710 in webkit


Ignore:
Timestamp:
May 23, 2019 1:43:49 PM (5 years ago)
Author:
Tadeu Zagallo
Message:

DFG::OSREntry should not perform arity check
https://bugs.webkit.org/show_bug.cgi?id=198189

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/loop-osr-with-arity-mismatch.js: Added.

(foo):

Source/JavaScriptCore:

The check prevents OSR entering from hot loops inside functions that were called
with too few arguments.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

Location:
trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JSTests/ChangeLog

    r245687 r245710  
     12019-05-23  Tadeu Zagallo  <tzagallo@apple.com>
     2
     3        DFG::OSREntry should not perform arity check
     4        https://bugs.webkit.org/show_bug.cgi?id=198189
     5
     6        Reviewed by Saam Barati.
     7
     8        * microbenchmarks/loop-osr-with-arity-mismatch.js: Added.
     9        (foo):
     10
    1112019-05-23  Stephan Szabo  <stephan.szabo@sony.com>
    212
  • trunk/Source/JavaScriptCore/ChangeLog

    r245697 r245710  
     12019-05-23  Tadeu Zagallo  <tzagallo@apple.com>
     2
     3        DFG::OSREntry should not perform arity check
     4        https://bugs.webkit.org/show_bug.cgi?id=198189
     5
     6        Reviewed by Saam Barati.
     7
     8        The check prevents OSR entering from hot loops inside functions that were called
     9        with too few arguments.
     10
     11        * dfg/DFGOSREntry.cpp:
     12        (JSC::DFG::prepareOSREntry):
     13
    1142019-05-23  Ross Kirsling  <ross.kirsling@sony.com>
    215
  • trunk/Source/JavaScriptCore/dfg/DFGOSREntry.cpp

    r245017 r245710  
    178178   
    179179    for (size_t argument = 0; argument < entry->m_expectedValues.numberOfArguments(); ++argument) {
    180         if (argument >= exec->argumentCountIncludingThis()) {
    181             if (Options::verboseOSR()) {
    182                 dataLogF("    OSR failed because argument %zu was not passed, expected ", argument);
    183                 entry->m_expectedValues.argument(argument).dump(WTF::dataFile());
    184                 dataLogF(".\n");
    185             }
    186             return nullptr;
    187         }
    188        
    189180        JSValue value;
    190181        if (!argument)
Note: See TracChangeset for help on using the changeset viewer.