summaryrefslogtreecommitdiff
path: root/src/vm/class.cpp
diff options
context:
space:
mode:
authorRuben Ayrapetyan <ruben-ayrapetyan@users.noreply.github.com>2017-06-28 09:16:01 +0300
committerJan Kotas <jkotas@microsoft.com>2017-06-27 23:16:01 -0700
commit44f57065649af5f8bcbb7c71d827221a7bc1bf7a (patch)
treedaa511e0217853b725dec53e3ec676683ecd2224 /src/vm/class.cpp
parent7cc721ec6ec56c998d66f1d57e7341cf7141a8a3 (diff)
downloadcoreclr-44f57065649af5f8bcbb7c71d827221a7bc1bf7a.tar.gz
coreclr-44f57065649af5f8bcbb7c71d827221a7bc1bf7a.tar.bz2
coreclr-44f57065649af5f8bcbb7c71d827221a7bc1bf7a.zip
Partially remove relocations from Class section of NGEN-ed images (#11962)
* Remove relocations for ParamTypeDesc::m_TemplateMT. * Remove relocations for LayoutEEClass::m_LayoutInfo.m_pFieldMarshalers. * Prepare RelativeFixupPointer. * Remove relocations for FieldMarshaler::m_pFD and FieldMarshaler_*::m_*.
Diffstat (limited to 'src/vm/class.cpp')
-rw-r--r--src/vm/class.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/vm/class.cpp b/src/vm/class.cpp
index 0259b1e4fc..6697b23a9a 100644
--- a/src/vm/class.cpp
+++ b/src/vm/class.cpp
@@ -2818,13 +2818,13 @@ void EEClass::Save(DataImage *image, MethodTable *pMT)
if (pInfo->m_numCTMFields > 0)
{
- ZapStoredStructure * pNode = image->StoreStructure(pInfo->m_pFieldMarshalers,
+ ZapStoredStructure * pNode = image->StoreStructure(pInfo->GetFieldMarshalers(),
pInfo->m_numCTMFields * MAXFIELDMARSHALERSIZE,
DataImage::ITEM_FIELD_MARSHALERS);
for (UINT iField = 0; iField < pInfo->m_numCTMFields; iField++)
{
- FieldMarshaler *pFM = (FieldMarshaler*)((BYTE *)pInfo->m_pFieldMarshalers + iField * MAXFIELDMARSHALERSIZE);
+ FieldMarshaler *pFM = (FieldMarshaler*)((BYTE *)pInfo->GetFieldMarshalers() + iField * MAXFIELDMARSHALERSIZE);
pFM->Save(image);
if (iField > 0)
@@ -3029,11 +3029,11 @@ void EEClass::Fixup(DataImage *image, MethodTable *pMT)
if (HasLayout())
{
- image->FixupPointerField(this, offsetof(LayoutEEClass, m_LayoutInfo.m_pFieldMarshalers));
+ image->FixupRelativePointerField(this, offsetof(LayoutEEClass, m_LayoutInfo.m_pFieldMarshalers));
EEClassLayoutInfo *pInfo = &((LayoutEEClass*)this)->m_LayoutInfo;
- FieldMarshaler *pFM = pInfo->m_pFieldMarshalers;
+ FieldMarshaler *pFM = pInfo->GetFieldMarshalers();
FieldMarshaler *pFMEnd = (FieldMarshaler*) ((BYTE *)pFM + pInfo->m_numCTMFields*MAXFIELDMARSHALERSIZE);
while (pFM < pFMEnd)
{