diff options
Diffstat (limited to 'src/vm')
-rw-r--r-- | src/vm/ceeload.cpp | 5 | ||||
-rw-r--r-- | src/vm/ceeload.h | 5 | ||||
-rw-r--r-- | src/vm/ceeload.inl | 6 | ||||
-rw-r--r-- | src/vm/class.h | 4 | ||||
-rw-r--r-- | src/vm/classhash.cpp | 7 | ||||
-rw-r--r-- | src/vm/method.cpp | 5 | ||||
-rw-r--r-- | src/vm/method.hpp | 2 | ||||
-rw-r--r-- | src/vm/methodtable.h | 11 |
8 files changed, 32 insertions, 13 deletions
diff --git a/src/vm/ceeload.cpp b/src/vm/ceeload.cpp index b6b4726122..367819e67a 100644 --- a/src/vm/ceeload.cpp +++ b/src/vm/ceeload.cpp @@ -13659,7 +13659,10 @@ void LookupMapBase::CreateHotItemList(DataImage *image, CorProfileData *profileD for (DWORD ii = 0; ii < numItems; ii++) { if (itemList[ii].value != NULL) - RelativePointer<TADDR>::SetValueMaybeNullAtPtr(dac_cast<TADDR>(&itemList[ii].value), itemList[ii].value); + { + RelativePointer<TADDR> *pRelPtr = (RelativePointer<TADDR> *)&itemList[ii].value; + pRelPtr->SetValueMaybeNull(itemList[ii].value); + } } if (itemList != NULL) diff --git a/src/vm/ceeload.h b/src/vm/ceeload.h index 41c88e37cb..7fa125dd84 100644 --- a/src/vm/ceeload.h +++ b/src/vm/ceeload.h @@ -309,7 +309,10 @@ template <typename TYPE> struct LookupMap : LookupMapBase { static TYPE GetValueAt(PTR_TADDR pValue, TADDR* pFlags, TADDR supportedFlags); + +#ifndef DACCESS_COMPILE static void SetValueAt(PTR_TADDR pValue, TYPE value, TADDR flags); +#endif // DACCESS_COMPILE TYPE GetElement(DWORD rid, TADDR* pFlags); void SetElement(DWORD rid, TYPE value, TADDR flags); @@ -366,6 +369,7 @@ public: SetElement(rid, value, flags); } +#ifndef DACCESS_COMPILE void AddFlag(DWORD rid, TADDR flag) { WRAPPER_NO_CONTRACT; @@ -386,6 +390,7 @@ public: TYPE existingValue = GetValueAt(pElement, &existingFlags, supportedFlags); SetValueAt(pElement, existingValue, existingFlags | flag); } +#endif // DACCESS_COMPILE // // Try to store an association in a map. Will never throw or fail. diff --git a/src/vm/ceeload.inl b/src/vm/ceeload.inl index 9184a74887..8226dce7d7 100644 --- a/src/vm/ceeload.inl +++ b/src/vm/ceeload.inl @@ -26,6 +26,8 @@ TYPE LookupMap<TYPE>::GetValueAt(PTR_TADDR pValue, TADDR* pFlags, TADDR supporte return (TYPE)(dac_cast<TADDR>(value) & ~supportedFlags); } +#ifndef DACCESS_COMPILE + template<typename TYPE> inline void LookupMap<TYPE>::SetValueAt(PTR_TADDR pValue, TYPE value, TADDR flags) @@ -34,10 +36,10 @@ void LookupMap<TYPE>::SetValueAt(PTR_TADDR pValue, TYPE value, TADDR flags) value = (TYPE)(dac_cast<TADDR>(value) | flags); - RelativePointer<TYPE>::SetValueAtPtr(dac_cast<TADDR>(pValue), value); + RelativePointer<TYPE> *pRelPtr = (RelativePointer<TYPE> *)pValue; + pRelPtr->SetValue(value); } -#ifndef DACCESS_COMPILE // // Specialization of Get/SetValueAt methods to support maps of pointer-sized value types // diff --git a/src/vm/class.h b/src/vm/class.h index 8395834ca3..90bebde4a6 100644 --- a/src/vm/class.h +++ b/src/vm/class.h @@ -1222,7 +1222,7 @@ public: inline void SetFieldDescList (FieldDesc* pFieldDescList) { LIMITED_METHOD_CONTRACT; - m_pFieldDescList.SetValue(PTR_HOST_MEMBER_TADDR(EEClass, this, m_pFieldDescList), pFieldDescList); + m_pFieldDescList.SetValue(pFieldDescList); } #endif // !DACCESS_COMPILE @@ -1645,7 +1645,7 @@ public: inline void SetChunks (MethodDescChunk* pChunks) { LIMITED_METHOD_CONTRACT; - m_pChunks.SetValueMaybeNull(PTR_HOST_MEMBER_TADDR(EEClass, this, m_pChunks), pChunks); + m_pChunks.SetValueMaybeNull(pChunks); } #endif // !DACCESS_COMPILE void AddChunk (MethodDescChunk* pNewChunk); diff --git a/src/vm/classhash.cpp b/src/vm/classhash.cpp index 408a6e8da4..2ffc612d66 100644 --- a/src/vm/classhash.cpp +++ b/src/vm/classhash.cpp @@ -47,7 +47,7 @@ PTR_VOID EEClassHashEntry::GetData() } #ifndef DACCESS_COMPILE -void EEClassHashEntry::SetData(PTR_VOID data) +void EEClassHashEntry::SetData(void *data) { CONTRACTL { @@ -60,7 +60,10 @@ void EEClassHashEntry::SetData(PTR_VOID data) // TypeHandles are encoded as a relative pointer rather than a regular pointer to avoid the need for image // fixups (any TypeHandles in this hash are defined in the same module). if (((TADDR)data & EECLASSHASH_TYPEHANDLE_DISCR) == 0) - RelativePointer<PTR_VOID>::SetValueMaybeNullAtPtr((TADDR)&m_Data, data); + { + RelativePointer<void *> *pRelPtr = (RelativePointer<void *> *) &m_Data; + pRelPtr->SetValueMaybeNull(data); + } else m_Data = data; } diff --git a/src/vm/method.cpp b/src/vm/method.cpp index f770a09ddb..c3b13aaa08 100644 --- a/src/vm/method.cpp +++ b/src/vm/method.cpp @@ -2492,7 +2492,10 @@ void MethodDesc::Reset() } if (HasNativeCodeSlot()) - NativeCodeSlot::SetValueMaybeNullAtPtr(GetAddrOfNativeCodeSlot(), NULL); + { + RelativePointer<TADDR> *pRelPtr = (RelativePointer<TADDR> *)GetAddrOfNativeCodeSlot(); + pRelPtr->SetValueMaybeNull(NULL); + } _ASSERTE(!HasNativeCode()); } diff --git a/src/vm/method.hpp b/src/vm/method.hpp index cdadba48c2..778ce1cc87 100644 --- a/src/vm/method.hpp +++ b/src/vm/method.hpp @@ -2057,7 +2057,7 @@ public: LIMITED_METHOD_CONTRACT; _ASSERTE(m_methodTable.IsNull()); _ASSERTE(pMT != NULL); - m_methodTable.SetValue(PTR_HOST_MEMBER_TADDR(MethodDescChunk, this, m_methodTable), pMT); + m_methodTable.SetValue(pMT); } inline void SetSizeAndCount(ULONG sizeOfMethodDescs, COUNT_T methodDescCount) diff --git a/src/vm/methodtable.h b/src/vm/methodtable.h index 2f77b27298..d8e7528958 100644 --- a/src/vm/methodtable.h +++ b/src/vm/methodtable.h @@ -1671,12 +1671,13 @@ public: } #ifndef DACCESS_COMPILE - inline void SetNonVirtualSlotsArray(PTR_PCODE slots) + inline void SetNonVirtualSlotsArray(PCODE *slots) { LIMITED_METHOD_CONTRACT; _ASSERTE(HasNonVirtualSlotsArray()); - - RelativePointer<PTR_PCODE>::SetValueAtPtr(GetNonVirtualSlotsPtr(), slots); + + RelativePointer<PCODE *> *pRelPtr = (RelativePointer<PCODE *> *)GetNonVirtualSlotsPtr(); + pRelPtr->SetValue(slots); } inline void SetHasSingleNonVirtualSlot() @@ -2456,7 +2457,9 @@ public: _ASSERTE(HasDispatchMapSlot()); TADDR pSlot = GetMultipurposeSlotPtr(enum_flag_HasDispatchMapSlot, c_DispatchMapSlotOffsets); - RelativePointer<PTR_DispatchMap>::SetValueAtPtr(pSlot, pDispatchMap); + + RelativePointer<DispatchMap *> *pRelPtr = (RelativePointer<DispatchMap *> *)pSlot; + pRelPtr->SetValue(pDispatchMap); } #endif // !DACCESS_COMPILE |