diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2018-08-23 02:42:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-23 02:42:43 +0200 |
commit | 8cd4b39a42c1c7cf37502357e6a4cb2888f5dfd7 (patch) | |
tree | a767facb00becfc9b6b9f0c3a8d731e566e3d1c3 /src/dlls | |
parent | 8013a4b6786d9e6618f8ed36bd0a473aa17b72aa (diff) | |
download | coreclr-8cd4b39a42c1c7cf37502357e6a4cb2888f5dfd7.tar.gz coreclr-8cd4b39a42c1c7cf37502357e6a4cb2888f5dfd7.tar.bz2 coreclr-8cd4b39a42c1c7cf37502357e6a4cb2888f5dfd7.zip |
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
Diffstat (limited to 'src/dlls')
-rw-r--r-- | src/dlls/mscorrc/mscorrc.rc | 1 | ||||
-rw-r--r-- | src/dlls/mscorrc/resource.h | 1 |
2 files changed, 0 insertions, 2 deletions
diff --git a/src/dlls/mscorrc/mscorrc.rc b/src/dlls/mscorrc/mscorrc.rc index cf5b6b2b27..a298563cc6 100644 --- a/src/dlls/mscorrc/mscorrc.rc +++ b/src/dlls/mscorrc/mscorrc.rc @@ -726,7 +726,6 @@ BEGIN IDS_CLASSLOAD_STATICVIRTUAL "Method '%3' in type '%1' from assembly '%2' cannot be a static and a virtual." IDS_CLASSLOAD_REDUCEACCESS "Derived method '%3' in type '%1' from assembly '%2' cannot reduce access." IDS_CLASSLOAD_BADPINVOKE "Could not get PINVOKE information for method '%3' in type '%1' from assembly '%2'." - IDS_CLASSLOAD_COLLECTIBLEPINVOKE "PInvoke method not permitted on type '%1' from collectible assembly '%2'." IDS_CLASSLOAD_COLLECTIBLESPECIALSTATICS "Collectible type '%1' may not have Thread or Context static members." IDS_CLASSLOAD_VALUECLASSTOOLARGE "Array of type '%1' from assembly '%2' cannot be created because base value type is too large." IDS_CLASSLOAD_NOTIMPLEMENTED "Method '%3' in type '%1' from assembly '%2' does not have an implementation." diff --git a/src/dlls/mscorrc/resource.h b/src/dlls/mscorrc/resource.h index fb095fc291..d58780f8f9 100644 --- a/src/dlls/mscorrc/resource.h +++ b/src/dlls/mscorrc/resource.h @@ -233,7 +233,6 @@ #define IDS_CLASSLOAD_MI_MISSING_SIG_DECL 0x17a7 #define IDS_CLASSLOAD_TOOMANYGENERICARGS 0x17ab -#define IDS_CLASSLOAD_COLLECTIBLEPINVOKE 0x17ac #define IDS_CLASSLOAD_COLLECTIBLESPECIALSTATICS 0x17ad #define IDS_COMPLUS_ERROR 0x17ae #define IDS_FATAL_ERROR 0x17af |