summaryrefslogtreecommitdiff
path: root/src/vm/typedesc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/typedesc.cpp')
-rw-r--r--src/vm/typedesc.cpp6
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);