Changeset 277850 in webkit for trunk/Source/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- May 20, 2021, 11:35:06 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JIT.cpp
r277758 r277850 978 978 "Baseline JIT code for %s", toCString(CodeBlockWithJITType(m_codeBlock, JITType::BaselineJIT)).data()); 979 979 980 MacroAssemblerCodePtr<JSEntryPtrTag> withArityCheck = patchBuffer.locationOf<JSEntryPtrTag>(m_arityCheck); 981 m_jitCode = adoptRef(*new DirectJITCode(result, withArityCheck, JITType::BaselineJIT)); 982 983 if (JITInternal::verbose) 984 dataLogF("JIT generated code for %p at [%p, %p).\n", m_codeBlock, result.executableMemory()->start().untaggedPtr(), result.executableMemory()->end().untaggedPtr()); 985 } 986 987 CompilationResult JIT::finalizeOnMainThread() 988 { 989 RELEASE_ASSERT(!isCompilationThread()); 990 991 if (!m_jitCode) 992 return CompilationFailed; 993 994 for (auto pair : m_virtualCalls) { 995 auto callLocation = m_linkBuffer->locationOfNearCall<JITThunkPtrTag>(pair.first); 996 997 CallLinkInfo& info = pair.second; 998 MacroAssemblerCodeRef<JITStubRoutinePtrTag> virtualThunk = virtualThunkFor(*m_vm, info); 999 info.setSlowStub(GCAwareJITStubRoutine::create(virtualThunk, *m_vm)); 1000 MacroAssembler::repatchNearCall(callLocation, CodeLocationLabel<JITStubRoutinePtrTag>(virtualThunk.code())); 1001 } 1002 980 1003 { 981 1004 ConcurrentJSLocker locker(m_codeBlock->m_lock); 982 1005 m_codeBlock->shrinkToFit(locker, CodeBlock::ShrinkMode::LateShrink); 983 1006 } 984 985 MacroAssemblerCodePtr<JSEntryPtrTag> withArityCheck = patchBuffer.locationOf<JSEntryPtrTag>(m_arityCheck);986 m_jitCode = adoptRef(*new DirectJITCode(result, withArityCheck, JITType::BaselineJIT));987 988 if (JITInternal::verbose)989 dataLogF("JIT generated code for %p at [%p, %p).\n", m_codeBlock, result.executableMemory()->start().untaggedPtr(), result.executableMemory()->end().untaggedPtr());990 }991 992 CompilationResult JIT::finalizeOnMainThread()993 {994 RELEASE_ASSERT(!isCompilationThread());995 996 if (!m_jitCode)997 return CompilationFailed;998 1007 999 1008 for (size_t i = 0; i < m_codeBlock->numberOfExceptionHandlers(); ++i) {
Note:
See TracChangeset
for help on using the changeset viewer.