diff options
author | Eugene Zemtsov <Eugene.Zemtsov@microsoft.com> | 2015-06-05 15:03:44 -0700 |
---|---|---|
committer | Eugene Zemtsov <Eugene.Zemtsov@microsoft.com> | 2015-06-05 15:03:44 -0700 |
commit | 72063e16410e3f3d89a1c346f50fc38f5a691093 (patch) | |
tree | 543878000ffedddf15ff060e738182f9a896d350 /src/md | |
parent | 4f9f660cc46c1d719e139da96c43ed71dfc51ebf (diff) | |
download | coreclr-72063e16410e3f3d89a1c346f50fc38f5a691093.tar.gz coreclr-72063e16410e3f3d89a1c346f50fc38f5a691093.tar.bz2 coreclr-72063e16410e3f3d89a1c346f50fc38f5a691093.zip |
Fix bug: CoreCLR debugger couldn't make more than one EnC edit to a method. Second and all further attempts failed, moreover sometimes VS debugger would crash with AV trying to do EnC. (TFS bug #1172983)
[tfs-changeset: 1483755]
Diffstat (limited to 'src/md')
-rw-r--r-- | src/md/enc/metamodelenc.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/md/enc/metamodelenc.cpp b/src/md/enc/metamodelenc.cpp index 1b3c733ae4..e19cf7a717 100644 --- a/src/md/enc/metamodelenc.cpp +++ b/src/md/enc/metamodelenc.cpp @@ -264,14 +264,18 @@ CMiniMdRW::ApplyDelta( return E_INVALIDARG; } +#ifndef FEATURE_CORECLR // Verify that the delta is based on the base. IfFailGo(mdDelta.getEncBaseIdOfModule(pModDelta, &GuidDelta)); IfFailGo(getEncBaseIdOfModule(pModBase,&GuidBase)); - if (CLRConfig::GetConfigValue(CLRConfig::INTERNAL_MD_DeltaCheck) && (GuidDelta != GuidBase)) + if (CLRConfig::GetConfigValue(CLRConfig::INTERNAL_MD_DeltaCheck) && + CLRConfig::GetConfigValue(CLRConfig::INTERNAL_MD_UseMinimalDeltas) && + (GuidDelta != GuidBase)) { _ASSERTE(!"The Delta MetaData is based on a different generation than the current MetaData."); return E_INVALIDARG; } +#endif //!FEATURE_CORECLR // Let the other md prepare for sparse records. IfFailGo(mdDelta.StartENCMap()); |