summaryrefslogtreecommitdiff
path: root/src/vm/jitinterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/jitinterface.cpp')
-rw-r--r--src/vm/jitinterface.cpp24
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)
// ----------------------------------------------------------------------------