diff options
author | Steve MacLean <stmaclea@microsoft.com> | 2019-04-21 18:25:04 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-21 18:25:04 -0400 |
commit | a36bc61442d89d0b5c58b0b14e7bd3bde218f24d (patch) | |
tree | 2b81845ab584a090b66f8d5490e7d91a506f118d /src/vm/assemblynative.cpp | |
parent | c48969221da787abaa0c6f1477ec9c864f0455d2 (diff) | |
download | coreclr-a36bc61442d89d0b5c58b0b14e7bd3bde218f24d.tar.gz coreclr-a36bc61442d89d0b5c58b0b14e7bd3bde218f24d.tar.bz2 coreclr-a36bc61442d89d0b5c58b0b14e7bd3bde218f24d.zip |
Fix AssemblyName cache hash and key (#24138)
* Add ContextualReflection LoadWithPartialName case
* Remove unnecessary MethodImplOptions.NoInlining
* Remove m_assembly warning
* Fix AssemblyName hash function
* AssemblyNative::Load fix stackMark usage
Do not use the stackMark if (ptrLoadContextBinder != NULL)
* Temporarily disable DefaultContextOverrideTPA
Test is failing due to a logic error.
Fix is pending in https://github.com/dotnet/corefx/pull/37071
Diffstat (limited to 'src/vm/assemblynative.cpp')
-rw-r--r-- | src/vm/assemblynative.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vm/assemblynative.cpp b/src/vm/assemblynative.cpp index aa830932ed..cc95151408 100644 --- a/src/vm/assemblynative.cpp +++ b/src/vm/assemblynative.cpp @@ -78,18 +78,18 @@ FCIMPL6(Object*, AssemblyNative::Load, AssemblyNameBaseObject* assemblyNameUNSAF else { // Compute parent assembly - if (gc.requestingAssembly == NULL) + if (gc.requestingAssembly != NULL) { - pRefAssembly = SystemDomain::GetCallersAssembly(stackMark); + pRefAssembly = gc.requestingAssembly->GetAssembly(); } - else + else if (ptrLoadContextBinder == NULL) { - pRefAssembly = gc.requestingAssembly->GetAssembly(); + pRefAssembly = SystemDomain::GetCallersAssembly(stackMark); } if (pRefAssembly) { - pParentAssembly= pRefAssembly->GetDomainAssembly(); + pParentAssembly = pRefAssembly->GetDomainAssembly(); } } |