From 89f1279cbb118d999280352b3aa68f5169789a56 Mon Sep 17 00:00:00 2001 From: David Mason Date: Wed, 31 Jan 2018 16:55:28 -0800 Subject: [PATCH] fix pointer in ILCodeVersionNode so it uses PTR_COR_ILMETHOD instead of COR_IL_METHOD *, which was causing a crash in the DAC (#16003) (#16032) --- src/vm/codeversion.cpp | 6 ++++-- 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 da808e8..01aad66 100644 --- a/src/vm/codeversion.cpp +++ b/src/vm/codeversion.cpp @@ -518,9 +518,11 @@ ILCodeVersionNode::ILCodeVersionNode() : m_rejitId(0), m_pNextILVersionNode(dac_cast(nullptr)), m_rejitState(ILCodeVersion::kStateRequested), - m_pIL(dac_cast(nullptr)), + m_pIL(), m_jitFlags(0) -{} +{ + m_pIL.Store(dac_cast(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 768c9cd..c548bea 100644 --- a/src/vm/codeversion.h +++ b/src/vm/codeversion.h @@ -340,7 +340,7 @@ private: ReJITID m_rejitId; PTR_ILCodeVersionNode m_pNextILVersionNode; Volatile m_rejitState; - VolatilePtr m_pIL; + VolatilePtr m_pIL; Volatile m_jitFlags; InstrumentedILOffsetMapping m_instrumentedILMap; }; -- 2.7.4