Changeset 290647 in webkit for trunk/Source/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- Mar 1, 2022, 7:42:50 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JIT.cpp
r287596 r290647 169 169 case op_##name: { \ 170 170 if (m_bytecodeIndex >= startBytecodeIndex) { \ 171 JITSlowPathCall slowPathCall(this, currentInstruction,slow_path_##name); \171 JITSlowPathCall slowPathCall(this, slow_path_##name); \ 172 172 slowPathCall.call(); \ 173 173 } \ … … 191 191 #define DEFINE_SLOWCASE_SLOW_OP(name) \ 192 192 case op_##name: { \ 193 emitSlowCaseCall( currentInstruction,iter, slow_path_##name); \193 emitSlowCaseCall(iter, slow_path_##name); \ 194 194 break; \ 195 195 } 196 196 197 void JIT::emitSlowCaseCall( const Instruction* currentInstruction,Vector<SlowCaseEntry>::iterator& iter, SlowPathFunction stub)197 void JIT::emitSlowCaseCall(Vector<SlowCaseEntry>::iterator& iter, SlowPathFunction stub) 198 198 { 199 199 linkAllSlowCases(iter); 200 200 201 JITSlowPathCall slowPathCall(this, currentInstruction,stub);201 JITSlowPathCall slowPathCall(this, stub); 202 202 slowPathCall.call(); 203 203 } … … 658 658 DEFINE_SLOWCASE_SLOW_OP(nstricteq) 659 659 DEFINE_SLOWCASE_SLOW_OP(get_prototype_of) 660 #if !ENABLE(EXTRA_CTI_THUNKS)661 DEFINE_SLOWCASE_SLOW_OP(resolve_scope)662 #endif663 660 DEFINE_SLOWCASE_SLOW_OP(check_tdz) 664 661 DEFINE_SLOWCASE_SLOW_OP(to_property_key) … … 861 858 862 859 ASSERT(m_jmpTable.isEmpty()); 863 864 privateCompileExceptionHandlers(); 865 860 866 861 if (m_disassembler) 867 862 m_disassembler->setEndOfCode(label()); … … 915 910 } 916 911 917 #if ENABLE(EXTRA_CTI_THUNKS)918 912 if (!m_exceptionChecks.empty()) 919 913 patchBuffer.link(m_exceptionChecks, CodeLocationLabel(vm().getCTIStub(handleExceptionGenerator).retaggedCode<NoPtrTag>())); 920 914 if (!m_exceptionChecksWithCallFrameRollback.empty()) 921 915 patchBuffer.link(m_exceptionChecksWithCallFrameRollback, CodeLocationLabel(vm().getCTIStub(handleExceptionWithCallFrameRollbackGenerator).retaggedCode<NoPtrTag>())); 922 #endif923 916 924 917 for (auto& record : m_nearJumps) { … … 1041 1034 } 1042 1035 1043 void JIT::privateCompileExceptionHandlers()1044 {1045 #if !ENABLE(EXTRA_CTI_THUNKS)1046 if (!m_exceptionChecksWithCallFrameRollback.empty()) {1047 m_exceptionChecksWithCallFrameRollback.link(this);1048 1049 copyCalleeSavesToEntryFrameCalleeSavesBuffer(vm().topEntryFrame);1050 1051 // operationLookupExceptionHandlerFromCallerFrame is passed one argument, the VM*.1052 move(TrustedImmPtr(&vm()), GPRInfo::argumentGPR0);1053 prepareCallOperation(vm());1054 m_farCalls.append(FarCallRecord(call(OperationPtrTag), FunctionPtr<OperationPtrTag>(operationLookupExceptionHandlerFromCallerFrame)));1055 jumpToExceptionHandler(vm());1056 }1057 1058 if (!m_exceptionChecks.empty()) {1059 m_exceptionChecks.link(this);1060 1061 copyCalleeSavesToEntryFrameCalleeSavesBuffer(vm().topEntryFrame);1062 1063 // operationLookupExceptionHandler is passed one argument, the VM*.1064 move(TrustedImmPtr(&vm()), GPRInfo::argumentGPR0);1065 prepareCallOperation(vm());1066 m_farCalls.append(FarCallRecord(call(OperationPtrTag), FunctionPtr<OperationPtrTag>(operationLookupExceptionHandler)));1067 jumpToExceptionHandler(vm());1068 }1069 #endif // ENABLE(EXTRA_CTI_THUNKS)1070 }1071 1072 1036 void JIT::doMainThreadPreparationBeforeCompile() 1073 1037 {
Note:
See TracChangeset
for help on using the changeset viewer.