Changeset 207465 in webkit


Ignore:
Timestamp:
Oct 18, 2016 9:26:17 AM (8 years ago)
Author:
Yusuke Suzuki
Message:

[DOMJIT] Not emit exception case if it is not necessary
https://bugs.webkit.org/show_bug.cgi?id=163589

Reviewed by Sam Weinig.

We should not emit exception case if we do not use the slow path calls.
For example, nodeType accessor does not use the slow path calls.

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessCase::emitDOMJITGetter):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r207461 r207465  
     12016-10-18  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        [DOMJIT] Not emit exception case if it is not necessary
     4        https://bugs.webkit.org/show_bug.cgi?id=163589
     5
     6        Reviewed by Sam Weinig.
     7
     8        We should not emit exception case if we do not use the slow path calls.
     9        For example, nodeType accessor does not use the slow path calls.
     10
     11        * bytecode/PolymorphicAccess.cpp:
     12        (JSC::AccessCase::emitDOMJITGetter):
     13
    1142016-10-18  Caitlin Potter  <caitp@igalia.com>
    215
  • trunk/Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp

    r207456 r207465  
    15361536
    15371537    CCallHelpers::JumpList exceptions = params.emitSlowPathCalls(state, registersToSpillForCCall, jit);
    1538     exceptions.link(&jit);
    1539     allocator.restoreReusedRegistersByPopping(jit, preservedState);
    1540     state.emitExplicitExceptionHandler();
     1538    if (!exceptions.empty()) {
     1539        exceptions.link(&jit);
     1540        allocator.restoreReusedRegistersByPopping(jit, preservedState);
     1541        state.emitExplicitExceptionHandler();
     1542    }
    15411543}
    15421544
Note: See TracChangeset for help on using the changeset viewer.