Ignore:
Timestamp:
Apr 22, 2021, 1:17:21 PM (4 years ago)
Author:
[email protected]
Message:

[JSC} Remove exception checks from non-throwing function calls in Baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=224920

Reviewed by Tadeu Zagallo.

These functions are not taking JSGlobalObject and will not throw an error.
Use callOperationNoExceptionCheck instead to avoid emitting unnecessary exception checks.

  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emitSlow_op_loop_hint):
(JSC::JIT::emit_op_profile_type):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_switch_imm):
(JSC::JIT::emit_op_profile_type):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JIT.cpp

    r276427 r276456  
    9696    copyCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer(vm().topEntryFrame);
    9797
    98     callOperation(operationOptimize, &vm(), m_bytecodeIndex.asBits());
     98    callOperationNoExceptionCheck(operationOptimize, &vm(), m_bytecodeIndex.asBits());
    9999    skipOptimize.append(branchTestPtr(Zero, returnValueGPR));
    100100    farJump(returnValueGPR, GPRInfo::callFrameRegister);
Note: See TracChangeset for help on using the changeset viewer.