From: Mukul Sabharwal Date: Wed, 13 Apr 2016 09:55:28 +0000 (-0700) Subject: Enable ReJIT all on platforms X-Git-Tag: accepted/tizen/base/20180629.140029~4984^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5f3b9ced9ca1f8ac6b13ba8676637b9d79464bd0;p=platform%2Fupstream%2Fcoreclr.git Enable ReJIT all on platforms --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 4317736..8bdff34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -837,11 +837,9 @@ if(NOT DEFINED CLR_CMAKE_PLATFORM_ARCH_ARM64) set(FEATURE_READYTORUN 1) endif(NOT DEFINED CLR_CMAKE_PLATFORM_ARCH_ARM64) -if (WIN32) - if (CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_I386) - add_definitions(-DFEATURE_REJIT) - endif(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_I386) -endif(WIN32) +if (CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_I386) + add_definitions(-DFEATURE_REJIT) +endif(CLR_CMAKE_PLATFORM_ARCH_AMD64 OR CLR_CMAKE_PLATFORM_ARCH_I386) add_definitions(-DFEATURE_STANDALONE_SN) add_definitions(-DFEATURE_STRONGNAME_DELAY_SIGNING_ALLOWED) diff --git a/src/vm/rejit.cpp b/src/vm/rejit.cpp index 587c096..e6f8797 100644 --- a/src/vm/rejit.cpp +++ b/src/vm/rejit.cpp @@ -178,7 +178,7 @@ CrstStatic ReJitManager::s_csGlobalRequest; //--------------------------------------------------------------------------------------- // Helpers -static DWORD JitFlagsFromProfCodegenFlags(DWORD dwCodegenFlags) +inline DWORD JitFlagsFromProfCodegenFlags(DWORD dwCodegenFlags) { LIMITED_METHOD_DAC_CONTRACT; @@ -3111,8 +3111,8 @@ void ReJitManager::Dump(LPCSTR szIntroText) "\tInfo 0x%p: State=0x%x, Next=0x%p, Shared=%p, SharedState=0x%x\n", pInfo, pInfo->GetState(), - pInfo->m_pNext, - pInfo->m_pShared, + (void*)pInfo->m_pNext, + (void*)pInfo->m_pShared, pInfo->m_pShared->GetState()); switch(pInfo->m_key.m_keyType) @@ -3120,7 +3120,7 @@ void ReJitManager::Dump(LPCSTR szIntroText) case ReJitInfo::Key::kMethodDesc: printf( "\t\tMD=0x%p, %s.%s (%s)\n", - pInfo->GetMethodDesc(), + (void*)pInfo->GetMethodDesc(), pInfo->GetMethodDesc()->m_pszDebugClassName, pInfo->GetMethodDesc()->m_pszDebugMethodName, pInfo->GetMethodDesc()->m_pszDebugMethodSignature); @@ -3718,10 +3718,10 @@ COR_ILMETHOD * ReJitInfo::GetIL() SharedReJitInfo::SharedReJitInfo() - : m_reJitId(InterlockedIncrement(reinterpret_cast(&s_GlobalReJitId))), - m_dwInternalFlags(kStateRequested), + : m_dwInternalFlags(kStateRequested), m_pbIL(NULL), m_dwCodegenFlags(0), + m_reJitId(InterlockedIncrement(reinterpret_cast(&s_GlobalReJitId))), m_pInfoList(NULL) { LIMITED_METHOD_CONTRACT; diff --git a/src/vm/rejit.h b/src/vm/rejit.h index 4fd9100..d247174 100644 --- a/src/vm/rejit.h +++ b/src/vm/rejit.h @@ -37,7 +37,7 @@ class ProfilerFunctionControl : public ICorProfilerFunctionControl { public: ProfilerFunctionControl(LoaderHeap * pHeap); - ~ProfilerFunctionControl(); + virtual ~ProfilerFunctionControl(); // IUnknown functions virtual HRESULT __stdcall QueryInterface(REFIID id, void** pInterface); diff --git a/src/vm/rejit.inl b/src/vm/rejit.inl index 47c314d..8662eea 100644 --- a/src/vm/rejit.inl +++ b/src/vm/rejit.inl @@ -39,25 +39,25 @@ inline ReJitInfo::ReJitInfo(PTR_Module pModule, mdMethodDef methodDef, SharedReJ } inline ReJitInfo::Key::Key() : - m_keyType(kUninitialized), m_pMD(NULL), - m_methodDef(mdTokenNil) + m_methodDef(mdTokenNil), + m_keyType(kUninitialized) { LIMITED_METHOD_CONTRACT; } inline ReJitInfo::Key::Key(PTR_MethodDesc pMD) : - m_keyType(kMethodDesc), m_pMD(dac_cast(pMD)), - m_methodDef(mdTokenNil) + m_methodDef(mdTokenNil), + m_keyType(kMethodDesc) { LIMITED_METHOD_CONTRACT; } inline ReJitInfo::Key::Key(PTR_Module pModule, mdMethodDef methodDef) : - m_keyType(kMetadataToken), m_pModule(dac_cast(pModule)), - m_methodDef(methodDef) + m_methodDef(methodDef), + m_keyType(kMetadataToken) { LIMITED_METHOD_CONTRACT; }