diff options
Diffstat (limited to 'src/vm/jitinterface.cpp')
-rw-r--r-- | src/vm/jitinterface.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/vm/jitinterface.cpp b/src/vm/jitinterface.cpp index 884257b6a4..e667ddd0a6 100644 --- a/src/vm/jitinterface.cpp +++ b/src/vm/jitinterface.cpp @@ -14263,6 +14263,30 @@ TADDR EECodeInfo::GetStartAddress() return m_pJM->JitTokenToStartAddress(m_methodToken); } +NativeCodeVersion EECodeInfo::GetNativeCodeVersion() +{ + CONTRACTL + { + NOTHROW; + GC_NOTRIGGER; + } + CONTRACTL_END; + + PTR_MethodDesc pMD = PTR_MethodDesc(GetMethodDesc()); + if (pMD == NULL) + { + return NativeCodeVersion(); + } + +#ifdef FEATURE_CODE_VERSIONING + CodeVersionManager *pCodeVersionManager = pMD->GetCodeVersionManager(); + CodeVersionManager::TableLockHolder lockHolder(pCodeVersionManager); + return pCodeVersionManager->GetNativeCodeVersion(pMD, PINSTRToPCODE(GetStartAddress())); +#else + return NativeCodeVersion(pMD); +#endif +} + #if defined(WIN64EXCEPTIONS) // ---------------------------------------------------------------------------- |