summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/ceeload.cpp5
-rw-r--r--src/vm/ceeload.h5
-rw-r--r--src/vm/ceeload.inl6
-rw-r--r--src/vm/class.h4
-rw-r--r--src/vm/classhash.cpp7
-rw-r--r--src/vm/method.cpp5
-rw-r--r--src/vm/method.hpp2
-rw-r--r--src/vm/methodtable.h11
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