Changeset 207437 in webkit


Ignore:
Timestamp:
Oct 17, 2016 3:09:29 PM (8 years ago)
Author:
Yusuke Suzuki
Message:

[DOMJIT][JSC] Add Option::useDOMJIT
https://bugs.webkit.org/show_bug.cgi?id=163457

Reviewed by Saam Barati.

Add an option to switch the DOMJIT optimization.

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessCase::generateImpl):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/Options.h:
Location:
trunk/Source/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r207434 r207437  
     12016-10-17  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        [DOMJIT][JSC] Add Option::useDOMJIT
     4        https://bugs.webkit.org/show_bug.cgi?id=163457
     5
     6        Reviewed by Saam Barati.
     7
     8        Add an option to switch the DOMJIT optimization.
     9
     10        * bytecode/PolymorphicAccess.cpp:
     11        (JSC::AccessCase::generateImpl):
     12        * dfg/DFGByteCodeParser.cpp:
     13        (JSC::DFG::ByteCodeParser::handleGetById):
     14        * runtime/Options.cpp:
     15        (JSC::recomputeDependentOptions):
     16        * runtime/Options.h:
     17
    1182016-10-17  Filip Pizlo  <fpizlo@apple.com>
    219
  • trunk/Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp

    r207428 r207437  
    950950        }
    951951
    952         if (m_type == CustomAccessorGetter && m_rareData->domJIT) {
     952        if (Options::useDOMJIT() && m_type == CustomAccessorGetter && m_rareData->domJIT) {
    953953            // We do not need to emit CheckDOM operation since structure check ensures
    954954            // that the structure of the given base value is structure()! So all we should
  • trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

    r207369 r207437  
    33033303    // Special path for custom accessors since custom's offset does not have any meanings.
    33043304    // So, this is completely different from Simple one. But we have a chance to optimize it when we use DOMJIT.
    3305     if (getByIdStatus.isCustom()) {
     3305    if (Options::useDOMJIT() && getByIdStatus.isCustom()) {
    33063306        ASSERT(getByIdStatus.numVariants() == 1);
    33073307        ASSERT(!getByIdStatus.makesCalls());
  • trunk/Source/JavaScriptCore/runtime/Options.cpp

    r205462 r207437  
    309309    Options::useDFGJIT() = false;
    310310    Options::useFTLJIT() = false;
     311    Options::useDOMJIT() = false;
    311312#endif
    312313#if !ENABLE(YARR_JIT)
  • trunk/Source/JavaScriptCore/runtime/Options.h

    r207432 r207437  
    109109    v(bool, useDFGJIT, true, Normal, "allows the DFG JIT to be used if true") \
    110110    v(bool, useRegExpJIT, true, Normal, "allows the RegExp JIT to be used if true") \
     111    v(bool, useDOMJIT, true, Normal, "allows the DOMJIT to be used if true") \
    111112    \
    112113    v(bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \
Note: See TracChangeset for help on using the changeset viewer.