diff options
author | John Chen <jochen@microsoft.com> | 2016-06-03 10:18:37 -0700 |
---|---|---|
committer | John Chen <jochen@microsoft.com> | 2016-06-03 10:18:37 -0700 |
commit | 5f455600c0e0155d80bd814d4a60b44f6ac6bcbb (patch) | |
tree | 3fa7d8970b037c8c69ba3f206e3797250dfac439 | |
parent | af37c3b7bf4160f4af0f517526e304bcba271bb5 (diff) | |
download | coreclr-5f455600c0e0155d80bd814d4a60b44f6ac6bcbb.tar.gz coreclr-5f455600c0e0155d80bd814d4a60b44f6ac6bcbb.tar.bz2 coreclr-5f455600c0e0155d80bd814d4a60b44f6ac6bcbb.zip |
Fix desktop NGen break caused by CoreCLR change, and add a missing contract
[tfs-changeset: 1610323]
-rw-r--r-- | src/vm/compile.h | 1 | ||||
-rw-r--r-- | src/vm/genericdict.cpp | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/vm/compile.h b/src/vm/compile.h index 97c6cc1465..c7a2d06ce9 100644 --- a/src/vm/compile.h +++ b/src/vm/compile.h @@ -531,6 +531,7 @@ class CEEPreloader : public ICorCompilePreloader void AppendUncompiledMethod(MethodDesc *pMD) { + STANDARD_VM_CONTRACT; if (m_methodCompileLimit > 0) { m_uncompiledMethods.Append(pMD); diff --git a/src/vm/genericdict.cpp b/src/vm/genericdict.cpp index 65638d1402..dfb9ea94dd 100644 --- a/src/vm/genericdict.cpp +++ b/src/vm/genericdict.cpp @@ -682,7 +682,10 @@ Dictionary::PopulateEntry( th = th.GetMethodTable()->GetMethodTableMatchingParentClass(declaringType.AsMethodTable()); } - th.GetMethodTable()->EnsureInstanceActive(); + if (!IsCompilationProcess()) + { + th.GetMethodTable()->EnsureInstanceActive(); + } result = (CORINFO_GENERIC_HANDLE)th.AsPtr(); break; @@ -917,7 +920,10 @@ Dictionary::PopulateEntry( DWORD fieldIndex; IfFailThrow(ptr.GetData(&fieldIndex)); - th.AsMethodTable()->EnsureInstanceActive(); + if (!IsCompilationProcess()) + { + th.AsMethodTable()->EnsureInstanceActive(); + } result = (CORINFO_GENERIC_HANDLE)th.AsMethodTable()->GetFieldDescByIndex(fieldIndex); break; |