summaryrefslogtreecommitdiff
path: root/src/vm/genericdict.cpp
diff options
context:
space:
mode:
authorJohn Chen <jochen@microsoft.com>2016-06-03 10:18:37 -0700
committerJohn Chen <jochen@microsoft.com>2016-06-03 10:18:37 -0700
commit5f455600c0e0155d80bd814d4a60b44f6ac6bcbb (patch)
tree3fa7d8970b037c8c69ba3f206e3797250dfac439 /src/vm/genericdict.cpp
parentaf37c3b7bf4160f4af0f517526e304bcba271bb5 (diff)
downloadcoreclr-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]
Diffstat (limited to 'src/vm/genericdict.cpp')
-rw-r--r--src/vm/genericdict.cpp10
1 files changed, 8 insertions, 2 deletions
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;