diff options
author | David Mason <davmason@microsoft.com> | 2018-01-25 23:41:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-25 23:41:29 -0800 |
commit | cb250bf00d10417b57559c86560a76975574b247 (patch) | |
tree | 08c19bbac1ea75b62247908106669ac16a8d3679 /src | |
parent | a118b0571d8ae8bd34c275d02294fa19251345b6 (diff) | |
download | coreclr-cb250bf00d10417b57559c86560a76975574b247.tar.gz coreclr-cb250bf00d10417b57559c86560a76975574b247.tar.bz2 coreclr-cb250bf00d10417b57559c86560a76975574b247.zip |
fix pointer in ILCodeVersionNode so it uses PTR_COR_ILMETHOD instead of COR_IL_METHOD *, which was causing a crash in the DAC (#16003)
Diffstat (limited to 'src')
-rw-r--r-- | src/vm/codeversion.cpp | 6 | ||||
-rw-r--r-- | src/vm/codeversion.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/vm/codeversion.cpp b/src/vm/codeversion.cpp index da808e8839..01aad66d92 100644 --- a/src/vm/codeversion.cpp +++ b/src/vm/codeversion.cpp @@ -518,9 +518,11 @@ ILCodeVersionNode::ILCodeVersionNode() : m_rejitId(0), m_pNextILVersionNode(dac_cast<PTR_ILCodeVersionNode>(nullptr)), m_rejitState(ILCodeVersion::kStateRequested), - m_pIL(dac_cast<PTR_COR_ILMETHOD>(nullptr)), + m_pIL(), m_jitFlags(0) -{} +{ + m_pIL.Store(dac_cast<PTR_COR_ILMETHOD>(nullptr)); +} #ifndef DACCESS_COMPILE ILCodeVersionNode::ILCodeVersionNode(Module* pModule, mdMethodDef methodDef, ReJITID id) : diff --git a/src/vm/codeversion.h b/src/vm/codeversion.h index 768c9cdb55..c548bea316 100644 --- a/src/vm/codeversion.h +++ b/src/vm/codeversion.h @@ -340,7 +340,7 @@ private: ReJITID m_rejitId; PTR_ILCodeVersionNode m_pNextILVersionNode; Volatile<ILCodeVersion::RejitFlags> m_rejitState; - VolatilePtr<COR_ILMETHOD> m_pIL; + VolatilePtr<COR_ILMETHOD, PTR_COR_ILMETHOD> m_pIL; Volatile<DWORD> m_jitFlags; InstrumentedILOffsetMapping m_instrumentedILMap; }; |