summaryrefslogtreecommitdiff
path: root/src/vm/methodtable.cpp
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2018-12-01 10:31:35 +0100
committerGitHub <noreply@github.com>2018-12-01 10:31:35 +0100
commit4c461d754ff29d1ba37c145676c397062378d1c0 (patch)
tree3f31b4015f010054dae1b5bd2f2a516915d0fe74 /src/vm/methodtable.cpp
parent9fca919fdc8f20f80d923088620ec026196785bf (diff)
downloadcoreclr-4c461d754ff29d1ba37c145676c397062378d1c0.tar.gz
coreclr-4c461d754ff29d1ba37c145676c397062378d1c0.tar.bz2
coreclr-4c461d754ff29d1ba37c145676c397062378d1c0.zip
Enable COM interop for collectible classes (#20919)
* Enable COM interop for collectible classes * Modify DispatchInfo to use LoaderAllocator handles The DispatchMemberInfo was using global handles to refer to the managed MemberInfo instances. That doesn't work with unloadability. This change modifies it to use handles allocated from LoaderAllocator. * Disable COM interop for WinRT types * Remove collectible check from IsTypeVisibleFromCom. That fixes three new COM interop tests * Add collectible check to GetComClassFactory when we check for unsupported interop with WinRT * Add COM unloadability tests Add two tests to test COM unloadability: * One for using native COM server from managed COM client * One for using managed COM objects from native client * Add unloading test for IUnknownTest * Disable NETClientPrimitivesInALC on Win ARM The NETClientPrimitives is disabled there too.
Diffstat (limited to 'src/vm/methodtable.cpp')
-rw-r--r--src/vm/methodtable.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vm/methodtable.cpp b/src/vm/methodtable.cpp
index 5ed91d1fe2..cf7ddccfc7 100644
--- a/src/vm/methodtable.cpp
+++ b/src/vm/methodtable.cpp
@@ -8313,7 +8313,8 @@ Instantiation MethodTable::GetInstantiationOfParentClass(MethodTable *pWhichPare
InteropMethodTableData *MethodTable::LookupComInteropData()
{
WRAPPER_NO_CONTRACT;
- return GetDomain()->LookupComInteropData(this);
+
+ return GetLoaderAllocator()->LookupComInteropData(this);
}
//==========================================================================================
@@ -8321,7 +8322,8 @@ InteropMethodTableData *MethodTable::LookupComInteropData()
BOOL MethodTable::InsertComInteropData(InteropMethodTableData *pData)
{
WRAPPER_NO_CONTRACT;
- return GetDomain()->InsertComInteropData(this, pData);
+
+ return GetLoaderAllocator()->InsertComInteropData(this, pData);
}
//==========================================================================================