diff --git a/src/coreclr/vm/method.cpp b/src/coreclr/vm/method.cpp index 267610c0ac3fb2..0ea8cc0d6fa469 100644 --- a/src/coreclr/vm/method.cpp +++ b/src/coreclr/vm/method.cpp @@ -3763,18 +3763,21 @@ MethodDesc::EnumMemoryRegions(CLRDataEnumMemoryFlags flags) #ifdef FEATURE_CODE_VERSIONING // Make sure the active IL and native code version are in triage dumps. - CodeVersionManager* pCodeVersionManager = GetCodeVersionManager(); - ILCodeVersion ilVersion = pCodeVersionManager->GetActiveILCodeVersion(dac_cast(this)); - if (!ilVersion.IsNull()) - { - EX_TRY + if (IsIL()) + { + CodeVersionManager* pCodeVersionManager = GetCodeVersionManager(); + ILCodeVersion ilVersion = pCodeVersionManager->GetActiveILCodeVersion(dac_cast(this)); + if (!ilVersion.IsNull()) { - ilVersion.GetActiveNativeCodeVersion(dac_cast(this)); - ilVersion.GetVersionId(); - ilVersion.GetRejitState(); - ilVersion.GetIL(); + EX_TRY + { + ilVersion.GetActiveNativeCodeVersion(dac_cast(this)); + ilVersion.GetVersionId(); + ilVersion.GetRejitState(); + ilVersion.GetIL(); + } + EX_CATCH_RETHROW_ONLY_COR_E_OPERATIONCANCELLED } - EX_CATCH_RETHROW_ONLY_COR_E_OPERATIONCANCELLED } #endif