diff options
author | Gleb Balykov <g.balykov@samsung.com> | 2017-06-22 20:39:03 +0300 |
---|---|---|
committer | Gleb Balykov <g.balykov@samsung.com> | 2017-07-10 16:37:05 +0300 |
commit | 33e3886802d95e7d4b5bfde630c0067d07c6291a (patch) | |
tree | 35fc153e9b0e53255db4d7d26b265f02ec37edad /src/vm/methodtable.h | |
parent | e085f07a5fa0aff778ff7562a33a88513b79b3b7 (diff) | |
download | coreclr-33e3886802d95e7d4b5bfde630c0067d07c6291a.tar.gz coreclr-33e3886802d95e7d4b5bfde630c0067d07c6291a.tar.bz2 coreclr-33e3886802d95e7d4b5bfde630c0067d07c6291a.zip |
Remove relocations for MethodTable::m_pWriteableData for Linux ARM
Diffstat (limited to 'src/vm/methodtable.h')
-rw-r--r-- | src/vm/methodtable.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/vm/methodtable.h b/src/vm/methodtable.h index 92a61f4118..7bf5432ebc 100644 --- a/src/vm/methodtable.h +++ b/src/vm/methodtable.h @@ -3134,36 +3134,39 @@ public: // Private part of MethodTable // ------------------------------------------------------------------ +#ifndef DACCESS_COMPILE inline void SetWriteableData(PTR_MethodTableWriteableData pMTWriteableData) { LIMITED_METHOD_CONTRACT; _ASSERTE(pMTWriteableData); - m_pWriteableData = pMTWriteableData; + m_pWriteableData.SetValue(pMTWriteableData); } - +#endif + inline PTR_Const_MethodTableWriteableData GetWriteableData() const { LIMITED_METHOD_DAC_CONTRACT; g_IBCLogger.LogMethodTableWriteableDataAccess(this); - return m_pWriteableData; + return GetWriteableData_NoLogging(); } inline PTR_Const_MethodTableWriteableData GetWriteableData_NoLogging() const { LIMITED_METHOD_DAC_CONTRACT; - return m_pWriteableData; + return ReadPointer(this, &MethodTable::m_pWriteableData); } inline PTR_MethodTableWriteableData GetWriteableDataForWrite() { - LIMITED_METHOD_CONTRACT; + LIMITED_METHOD_DAC_CONTRACT; g_IBCLogger.LogMethodTableWriteableDataWriteAccess(this); - return m_pWriteableData; + return GetWriteableDataForWrite_NoLogging(); } inline PTR_MethodTableWriteableData GetWriteableDataForWrite_NoLogging() { - return m_pWriteableData; + LIMITED_METHOD_DAC_CONTRACT; + return ReadPointer(this, &MethodTable::m_pWriteableData); } //------------------------------------------------------------------- @@ -4061,7 +4064,11 @@ private: RelativePointer<PTR_Module> m_pLoaderModule; // LoaderModule. It is equal to the ZapModule in ngened images - PTR_MethodTableWriteableData m_pWriteableData; +#if defined(PLATFORM_UNIX) && defined(_TARGET_ARM_) + RelativePointer<PTR_MethodTableWriteableData> m_pWriteableData; +#else + PlainPointer<PTR_MethodTableWriteableData> m_pWriteableData; +#endif // The value of lowest two bits describe what the union contains enum LowBits { |