diff options
Diffstat (limited to 'src/vm/typedesc.cpp')
-rw-r--r-- | src/vm/typedesc.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vm/typedesc.cpp b/src/vm/typedesc.cpp index 9d84c01488..d05cb558bc 100644 --- a/src/vm/typedesc.cpp +++ b/src/vm/typedesc.cpp @@ -837,6 +837,12 @@ OBJECTREF ParamTypeDesc::GetManagedClassObject() pLoaderAllocator->ClearHandle(hExposedClassObject); } + if (OwnsTemplateMethodTable()) + { + // Set the handle on template methodtable as well to make Object.GetType for arrays take the fast path + EnsureWritablePages(m_TemplateMT.GetValue()->GetWriteableDataForWrite())->m_hExposedClassObject = m_hExposedClassObject; + } + // Log the TypeVarTypeDesc access g_IBCLogger.LogTypeMethodTableWriteableAccess(&th); |