From 8cd4b39a42c1c7cf37502357e6a4cb2888f5dfd7 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Thu, 23 Aug 2018 02:42:43 +0200 Subject: Enable unloading of AssemblyLoadContext (#18476) Enable assembly unloading * Allow PInvoke methods on collectible assemblies * Fix test unloadability Several hundreds of tests were using Helper class that created GCHandle, but never freed it. That prevented unloading of those tests. The change modifies the Helper class to keep the handle in a finalizable object. Several GCHandle related tests were not freeing the GCHandle they allocated, so this change adds freeing them to enable the unloading. * Add missing error messages to the resources * Fix shuffle thunk cache for unloadability * Add GetLoaderAllocator to ICLRPrivBinder --- src/vm/dynamicmethod.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/vm/dynamicmethod.cpp') diff --git a/src/vm/dynamicmethod.cpp b/src/vm/dynamicmethod.cpp index 5fd552a0a1..ba97b3de5d 100644 --- a/src/vm/dynamicmethod.cpp +++ b/src/vm/dynamicmethod.cpp @@ -869,7 +869,7 @@ void DynamicMethodDesc::Destroy(BOOL fDomainUnload) if (pLoaderAllocator->Release()) { GCX_PREEMP(); - LoaderAllocator::GCLoaderAllocators(pLoaderAllocator->GetDomain()->AsAppDomain()); + LoaderAllocator::GCLoaderAllocators(pLoaderAllocator); } } } -- cgit v1.2.3