Add FixupPlainOrRelativePointerField for MethodDesc fields
authorGleb Balykov <g.balykov@samsung.com>
Wed, 21 Jun 2017 17:53:41 +0000 (20:53 +0300)
committerGleb Balykov <g.balykov@samsung.com>
Mon, 10 Jul 2017 13:37:05 +0000 (16:37 +0300)
Commit migrated from https://github.com/dotnet/coreclr/commit/fead79c7c612a7262621ec75a0a76a83f08903bf

src/coreclr/src/vm/method.cpp

index 241a0cc..ae6a624 100644 (file)
@@ -3496,14 +3496,7 @@ MethodDesc::Fixup(
             }
         }
 
-        if (decltype(InstantiatedMethodDesc::m_pPerInstInfo)::isRelative)
-        {
-            image->FixupRelativePointerField(this, offsetof(InstantiatedMethodDesc, m_pPerInstInfo));
-        }
-        else
-        {
-            image->FixupPointerField(this, offsetof(InstantiatedMethodDesc, m_pPerInstInfo));
-        }
+        image->FixupPlainOrRelativePointerField((InstantiatedMethodDesc*) this, &InstantiatedMethodDesc::m_pPerInstInfo);
 
         // Generic methods are dealt with specially to avoid encoding the formal method type parameters
         if (IsTypicalMethodDefinition())
@@ -3582,14 +3575,7 @@ MethodDesc::Fixup(
 
         NDirectMethodDesc *pNMD = (NDirectMethodDesc *)this;
 
-        if (decltype(NDirectMethodDesc::ndirect.m_pWriteableData)::isRelative)
-        {
-            image->FixupRelativePointerField(this, offsetof(NDirectMethodDesc, ndirect.m_pWriteableData));
-        }
-        else
-        {
-            image->FixupPointerField(this, offsetof(NDirectMethodDesc, ndirect.m_pWriteableData));
-        }
+        image->FixupPlainOrRelativePointerField(pNMD, &NDirectMethodDesc::ndirect, &decltype(NDirectMethodDesc::ndirect)::m_pWriteableData);
 
         NDirectWriteableData *pWriteableData = pNMD->GetWriteableData();
         NDirectImportThunkGlue *pImportThunkGlue = pNMD->GetNDirectImportThunkGlue();