From: danmosemsft Date: Sun, 12 Feb 2017 18:54:14 +0000 (-0800) Subject: Remove always defined FEATURE_HOST_ASSEMBLY_RESOLVER X-Git-Tag: accepted/tizen/base/20180629.140029~2263^2~24 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c9850c6172e09fe824e02a6f2e7eb6c4863952d5;p=platform%2Fupstream%2Fcoreclr.git Remove always defined FEATURE_HOST_ASSEMBLY_RESOLVER --- diff --git a/clrdefinitions.cmake b/clrdefinitions.cmake index bd0c5a6..6b4332b 100644 --- a/clrdefinitions.cmake +++ b/clrdefinitions.cmake @@ -127,7 +127,6 @@ endif(CLR_CMAKE_PLATFORM_UNIX) if(NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) add_definitions(-DFEATURE_HIJACK) endif(NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) -add_definitions(-DFEATURE_HOST_ASSEMBLY_RESOLVER) add_definitions(-DFEATURE_ICASTABLE) if (WIN32 AND (CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)) add_definitions(-DFEATURE_INTEROP_DEBUGGING) diff --git a/src/binder/applicationcontext.cpp b/src/binder/applicationcontext.cpp index e5c3025..d395f4d 100644 --- a/src/binder/applicationcontext.cpp +++ b/src/binder/applicationcontext.cpp @@ -143,9 +143,7 @@ namespace BINDER_SPACE m_pFailureCache = pFailureCache; } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) m_fCanExplicitlyBindToNativeImages = false; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) Exit: BINDER_LOG_LEAVE_HR(W("ApplicationContext::Init"), hr); diff --git a/src/binder/assemblybinder.cpp b/src/binder/assemblybinder.cpp index 517eac9..a73f79f 100644 --- a/src/binder/assemblybinder.cpp +++ b/src/binder/assemblybinder.cpp @@ -46,7 +46,7 @@ BOOL IsCompilationProcess(); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) #include "clrprivbindercoreclr.h" #include "clrprivbinderassemblyloadcontext.h" // Helper function in the VM, invoked by the Binder, to invoke the host assembly resolver @@ -57,7 +57,7 @@ extern HRESULT RuntimeInvokeHostAssemblyResolver(INT_PTR pManagedAssemblyLoadCon // Helper to check if we have a host assembly resolver set extern BOOL RuntimeCanUseAppPathAssemblyResolver(DWORD adid); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) namespace BINDER_SPACE { @@ -1073,12 +1073,12 @@ namespace BINDER_SPACE // Dynamic binds need to be always considered a failure for binding closures IF_FAIL_GO(FUSION_E_APP_DOMAIN_LOCKED); } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) else if (IgnoreRefDefMatch(dwBindFlags)) { // Skip RefDef matching if we have been asked to. } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) else { // Can't give higher serciving than already bound @@ -1393,13 +1393,13 @@ namespace BINDER_SPACE bool fUseAppPathsBasedResolver = !excludeAppPaths; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) // If Host Assembly Resolver is specified, then we will use that as the override for the default resolution mechanism (that uses AppPath probing). if (fUseAppPathsBasedResolver && !RuntimeCanUseAppPathAssemblyResolver(pApplicationContext->GetAppDomainId())) { fUseAppPathsBasedResolver = false; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) // This loop executes twice max. First time through we probe AppNiPaths, the second time we probe AppPaths bool parseNiPaths = true; @@ -1812,7 +1812,7 @@ namespace BINDER_SPACE #endif //CROSSGEN_COMPILE -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) HRESULT AssemblyBinder::BindUsingHostAssemblyResolver (/* in */ INT_PTR pManagedAssemblyLoadContextToBindWithin, /* in */ AssemblyName *pAssemblyName, /* in */ IAssemblyName *pIAssemblyName, @@ -1947,7 +1947,7 @@ Exit: BINDER_LOG_LEAVE_HR(W("AssemblyBinder::BindUsingPEImage"), hr); return hr; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) }; diff --git a/src/binder/clrprivbinderassemblyloadcontext.cpp b/src/binder/clrprivbinderassemblyloadcontext.cpp index 8f3a3ee..e6f957a 100644 --- a/src/binder/clrprivbinderassemblyloadcontext.cpp +++ b/src/binder/clrprivbinderassemblyloadcontext.cpp @@ -8,7 +8,7 @@ #include "clrprivbinderassemblyloadcontext.h" #include "clrprivbinderutil.h" -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) using namespace BINDER_SPACE; @@ -256,4 +256,4 @@ CLRPrivBinderAssemblyLoadContext::CLRPrivBinderAssemblyLoadContext() m_pTPABinder = NULL; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) diff --git a/src/binder/clrprivbindercoreclr.cpp b/src/binder/clrprivbindercoreclr.cpp index d62af86..b7a6807 100644 --- a/src/binder/clrprivbindercoreclr.cpp +++ b/src/binder/clrprivbindercoreclr.cpp @@ -62,7 +62,7 @@ HRESULT CLRPrivBinderCoreCLR::BindAssemblyByName(IAssemblyName *pIAssemblyNa hr = BindAssemblyByNameWorker(pAssemblyName, &pCoreCLRFoundAssembly, false /* excludeAppPaths */); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) if ((hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)) || (hr == FUSION_E_APP_DOMAIN_LOCKED) || (hr == FUSION_E_REF_DEF_MISMATCH)) { @@ -94,7 +94,7 @@ HRESULT CLRPrivBinderCoreCLR::BindAssemblyByName(IAssemblyName *pIAssemblyNa } } } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) IF_FAIL_GO(hr); @@ -107,7 +107,7 @@ Exit:; return hr; } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) HRESULT CLRPrivBinderCoreCLR::BindUsingPEImage( /* in */ PEImage *pPEImage, /* in */ BOOL fIsNativeImage, /* [retval][out] */ ICLRPrivAssembly **ppAssembly) @@ -179,7 +179,7 @@ Exit:; return hr; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) HRESULT CLRPrivBinderCoreCLR::VerifyBind(IAssemblyName *AssemblyName, ICLRPrivAssembly *pAssembly, diff --git a/src/binder/inc/applicationcontext.hpp b/src/binder/inc/applicationcontext.hpp index 4c25677..9c89262 100644 --- a/src/binder/inc/applicationcontext.hpp +++ b/src/binder/inc/applicationcontext.hpp @@ -174,7 +174,6 @@ namespace BINDER_SPACE SimpleNameToFileNameMap * m_pTrustedPlatformAssemblyMap; TpaFileNameHash * m_pFileNameHash; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) bool m_fCanExplicitlyBindToNativeImages; public: inline void SetExplicitBindToNativeImages(bool fCanExplicitlyBindToNativeImages) @@ -187,7 +186,6 @@ public: return m_fCanExplicitlyBindToNativeImages; } protected: -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) }; #include "applicationcontext.inl" diff --git a/src/binder/inc/assembly.hpp b/src/binder/inc/assembly.hpp index 5b8425a..335bce8 100644 --- a/src/binder/inc/assembly.hpp +++ b/src/binder/inc/assembly.hpp @@ -25,9 +25,9 @@ #include "clrprivbindercoreclr.h" #endif // !defined(FEATURE_FUSION) -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) #include "clrprivbinderassemblyloadcontext.h" -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) STDAPI BinderAcquirePEImage(LPCTSTR szAssemblyPath, PEImage **ppPEImage, @@ -207,9 +207,9 @@ public: friend class ::CLRPrivBinderCoreCLR; #endif // !defined(FEATURE_FUSION) -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) friend class ::CLRPrivBinderAssemblyLoadContext; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) }; // This is a fast version which goes around the COM interfaces and directly diff --git a/src/binder/inc/assemblybinder.hpp b/src/binder/inc/assemblybinder.hpp index 3a1f1e4..fa2f8b4 100644 --- a/src/binder/inc/assemblybinder.hpp +++ b/src/binder/inc/assemblybinder.hpp @@ -74,7 +74,7 @@ namespace BINDER_SPACE /* out */ Assembly **ppAssembly, /* in */ LPCTSTR szMDAssemblyPath = NULL); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) static HRESULT BindUsingHostAssemblyResolver (/* in */ INT_PTR pManagedAssemblyLoadContextToBindWithin, /* in */ AssemblyName *pAssemblyName, /* in */ IAssemblyName *pIAssemblyName, @@ -87,7 +87,7 @@ namespace BINDER_SPACE /* in */ PEKIND peKind, /* in */ IMDInternalImport *pIMetaDataAssemblyImport, /* [retval] [out] */ Assembly **ppAssembly); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) static HRESULT TranslatePEToArchitectureType(DWORD *pdwPAFlags, PEKIND *PeKind); @@ -98,10 +98,10 @@ namespace BINDER_SPACE BIND_CACHE_FAILURES = 0x01, BIND_CACHE_RERUN_BIND = 0x02, BIND_IGNORE_DYNAMIC_BINDS = 0x04 -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) , BIND_IGNORE_REFDEF_MATCH = 0x8 -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) }; static BOOL IgnoreDynamicBinds(DWORD dwBindFlags) @@ -119,12 +119,12 @@ namespace BINDER_SPACE return ((dwBindFlags & BIND_CACHE_RERUN_BIND) != 0); } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) static BOOL IgnoreRefDefMatch(DWORD dwBindFlags) { return ((dwBindFlags & BIND_IGNORE_REFDEF_MATCH) != 0); } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) static HRESULT BindByName(/* in */ ApplicationContext *pApplicationContext, /* in */ AssemblyName *pAssemblyName, diff --git a/src/binder/inc/clrprivbinderassemblyloadcontext.h b/src/binder/inc/clrprivbinderassemblyloadcontext.h index 83113f4..9c77233 100644 --- a/src/binder/inc/clrprivbinderassemblyloadcontext.h +++ b/src/binder/inc/clrprivbinderassemblyloadcontext.h @@ -10,7 +10,7 @@ #include "applicationcontext.hpp" #include "clrprivbindercoreclr.h" -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) namespace BINDER_SPACE { @@ -82,5 +82,5 @@ private: INT_PTR m_ptrManagedAssemblyLoadContext; }; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) #endif // __CLRPRIVBINDERASSEMBLYLOADCONTEXT_H__ diff --git a/src/binder/inc/clrprivbindercoreclr.h b/src/binder/inc/clrprivbindercoreclr.h index e906e01..9338fad 100644 --- a/src/binder/inc/clrprivbindercoreclr.h +++ b/src/binder/inc/clrprivbindercoreclr.h @@ -67,11 +67,11 @@ public: HRESULT PreBindByteArray(PEImage *pPEImage, BOOL fInspectionOnly); #endif // CROSSGEN_COMPILE -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) HRESULT BindUsingPEImage( /* in */ PEImage *pPEImage, /* in */ BOOL fIsNativeImage, /* [retval][out] */ ICLRPrivAssembly **ppAssembly); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) HRESULT BindAssemblyByNameWorker( BINDER_SPACE::AssemblyName *pAssemblyName, diff --git a/src/dlls/mscorrc/mscorrc.rc b/src/dlls/mscorrc/mscorrc.rc index 3489cd9..bb2a9ee 100644 --- a/src/dlls/mscorrc/mscorrc.rc +++ b/src/dlls/mscorrc/mscorrc.rc @@ -2103,7 +2103,6 @@ BEGIN IDS_EE_ERROR_IDISPATCH "IDispatch and IDispatchEx are not supported" END -#ifdef FEATURE_HOST_ASSEMBLY_RESOLVER STRINGTABLE DISCARDABLE BEGIN IDS_HOST_ASSEMBLY_RESOLVER_ASSEMBLY_ALREADY_LOADED_IN_CONTEXT "Assembly with same name is already loaded" @@ -2111,7 +2110,6 @@ BEGIN IDS_HOST_ASSEMBLY_RESOLVER_INCOMPATIBLE_BINDING_CONTEXT "Assembly is already bound to an incompatible binding context." IDS_HOST_ASSEMBLY_RESOLVER_INCOMPATIBLE_TPA_BINDING_CONTEXT "Default binding context is already attached to managed load context." END -#endif // FEATURE_HOST_ASSEMBLY_RESOLVER STRINGTABLE DISCARDABLE BEGIN diff --git a/src/dlls/mscorrc/resource.h b/src/dlls/mscorrc/resource.h index 3b87d1e..6153246 100644 --- a/src/dlls/mscorrc/resource.h +++ b/src/dlls/mscorrc/resource.h @@ -927,12 +927,10 @@ #define IDS_EE_BADMARSHAL_TYPE_IDISPATCH 0x2634 #define IDS_EE_ERROR_IDISPATCH 0x2635 -#ifdef FEATURE_HOST_ASSEMBLY_RESOLVER #define IDS_HOST_ASSEMBLY_RESOLVER_ASSEMBLY_ALREADY_LOADED_IN_CONTEXT 0x2636 #define IDS_HOST_ASSEMBLY_RESOLVER_DYNAMICALLY_EMITTED_ASSEMBLIES_UNSUPPORTED 0x2637 #define IDS_HOST_ASSEMBLY_RESOLVER_INCOMPATIBLE_BINDING_CONTEXT 0x2638 #define IDS_HOST_ASSEMBLY_RESOLVER_INCOMPATIBLE_TPA_BINDING_CONTEXT 0x2639 -#endif // FEATURE_HOST_ASSEMBLY_RESOLVER #define IDS_NATIVE_IMAGE_CANNOT_BE_LOADED_MULTIPLE_TIMES 0x263a diff --git a/src/vm/appdomain.cpp b/src/vm/appdomain.cpp index bf41be6..15ba905 100644 --- a/src/vm/appdomain.cpp +++ b/src/vm/appdomain.cpp @@ -758,9 +758,7 @@ BaseDomain::BaseDomain() m_fDisableInterfaceCache = FALSE; m_pFusionContext = NULL; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) m_pTPABinderContext = NULL; -#endif // Make sure the container is set to NULL so that it gets loaded when it is used. m_pLargeHeapHandleTable = NULL; @@ -1071,12 +1069,10 @@ void BaseDomain::ClearFusionContext() m_pFusionContext->Release(); m_pFusionContext = NULL; } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) if (m_pTPABinderContext) { m_pTPABinderContext->Release(); m_pTPABinderContext = NULL; } -#endif } #ifdef FEATURE_PREJIT @@ -4611,9 +4607,7 @@ AppDomain::AppDomain() m_pDomainFileWithNativeImageList = NULL; #endif -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) m_fIsBindingModelLocked.Store(FALSE); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) } // AppDomain::AppDomain @@ -9504,10 +9498,8 @@ IUnknown *AppDomain::CreateFusionContext() IfFailThrow(CCoreCLRBinderHelper::DefaultBinderSetupContext(GetId().m_dwId, &pTPABinder)); m_pFusionContext = reinterpret_cast(pTPABinder); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // By default, initial binding context setup for CoreCLR is also the TPABinding context (m_pTPABinderContext = pTPABinder)->AddRef(); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) } @@ -13267,7 +13259,7 @@ BOOL AppDomain::IsImageFullyTrusted(PEImage* pPEImage) #endif //!DACCESS_COMPILE -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) // Returns a BOOL indicating if the binding model has been locked for the AppDomain BOOL AppDomain::IsBindingModelLocked() @@ -13509,7 +13501,7 @@ HRESULT RuntimeInvokeHostAssemblyResolver(INT_PTR pManagedAssemblyLoadContextToB return hr; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) //approximate size of loader data //maintained for each assembly diff --git a/src/vm/appdomain.hpp b/src/vm/appdomain.hpp index 0e7ab65..ecf7bd0 100644 --- a/src/vm/appdomain.hpp +++ b/src/vm/appdomain.hpp @@ -1339,9 +1339,7 @@ public: #else IUnknown *GetFusionContext() {LIMITED_METHOD_CONTRACT; return m_pFusionContext; } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) CLRPrivBinderCoreCLR *GetTPABinderContext() {LIMITED_METHOD_CONTRACT; return m_pTPABinderContext; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) #endif @@ -1393,9 +1391,7 @@ protected: #else IUnknown *m_pFusionContext; // Current binding context for the domain -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) CLRPrivBinderCoreCLR *m_pTPABinderContext; // Reference to the binding context that holds TPA list details -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) #endif @@ -2773,7 +2769,6 @@ public: IUnknown *CreateFusionContext(); #endif // FEATURE_VERSIONING -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) void OverrideDefaultContextBinder(IUnknown *pOverrideBinder) { LIMITED_METHOD_CONTRACT; @@ -2784,7 +2779,6 @@ public: m_pFusionContext = pOverrideBinder; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) #ifdef FEATURE_PREJIT CorCompileConfigFlags GetNativeConfigFlags(); @@ -3785,14 +3779,12 @@ private: #endif public: -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) private: Volatile m_fIsBindingModelLocked; public: BOOL IsHostAssemblyResolverInUse(); BOOL IsBindingModelLocked(); BOOL LockBindingModel(); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) UMEntryThunkCache *GetUMEntryThunkCache(); diff --git a/src/vm/assembly.cpp b/src/vm/assembly.cpp index cc24ec7..9ab8fbd 100644 --- a/src/vm/assembly.cpp +++ b/src/vm/assembly.cpp @@ -739,7 +739,6 @@ Assembly *Assembly::CreateDynamic(AppDomain *pDomain, CreateDynamicAssemblyArgs &ma)); pFile = PEAssembly::Create(pCallerAssembly->GetManifestFile(), pAssemblyEmit, args->access & ASSEMBLY_ACCESS_REFLECTION_ONLY); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // Dynamically created modules (aka RefEmit assemblies) do not have a LoadContext associated with them since they are not bound // using an actual binder. As a result, we will assume the same binding/loadcontext information for the dynamic assembly as its // caller/creator to ensure that any assembly loads triggered by the dynamic assembly are resolved using the intended load context. @@ -785,7 +784,6 @@ Assembly *Assembly::CreateDynamic(AppDomain *pDomain, CreateDynamicAssemblyArgs // Set it as the fallback load context binder for the dynamic assembly being created pFile->SetFallbackLoadContextBinder(pFallbackLoadContextBinder); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) } diff --git a/src/vm/assemblynative.cpp b/src/vm/assemblynative.cpp index 3a41768..8cc5321 100644 --- a/src/vm/assemblynative.cpp +++ b/src/vm/assemblynative.cpp @@ -243,7 +243,6 @@ FCIMPL10(Object*, AssemblyNative::Load, AssemblyNameBaseObject* assemblyNameUNSA if (pParentAssembly != NULL) spec.SetParentAssembly(pParentAssembly); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // Have we been passed the reference to the binder against which this load should be triggered? // If so, then use it to set the fallback load context binder. if (ptrLoadContextBinder != NULL) @@ -258,7 +257,6 @@ FCIMPL10(Object*, AssemblyNative::Load, AssemblyNameBaseObject* assemblyNameUNSA PEFile *pRefAssemblyManifestFile = pRefAssembly->GetManifestFile(); spec.SetFallbackLoadContextBinderForRequestingAssembly(pRefAssemblyManifestFile->GetFallbackLoadContextBinder()); } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) AssemblyLoadSecurity loadSecurity; loadSecurity.m_pAdditionalEvidence = &gc.security; @@ -647,7 +645,6 @@ FCIMPL2(Object*, AssemblyNative::LoadFile, StringObject* pathUNSAFE, Object* sec } FCIMPLEND -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) /* static */ Assembly* AssemblyNative::LoadFromPEImage(ICLRPrivBinder* pBinderContext, PEImage *pILImage, PEImage *pNIImage) @@ -927,7 +924,6 @@ void QCALLTYPE AssemblyNative::LoadFromStream(INT_PTR ptrNativeAssemblyLoadConte END_QCALL; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) /* static */ Assembly* AssemblyNative::GetPostPolicyAssembly(PEAssembly *pFile, @@ -2410,7 +2406,6 @@ BOOL QCALLTYPE AssemblyNative::IsDesignerBindingContext(QCall::AssemblyHandle pA } #endif // FEATURE_APPX -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) /*static*/ INT_PTR QCALLTYPE AssemblyNative::InitializeAssemblyLoadContext(INT_PTR ptrManagedAssemblyLoadContext, BOOL fRepresentsTPALoadContext) { @@ -2569,7 +2564,6 @@ INT_PTR QCALLTYPE AssemblyNative::GetLoadContextForAssembly(QCall::AssemblyHandl return ptrManagedAssemblyLoadContext; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // static BOOL QCALLTYPE AssemblyNative::InternalTryGetRawMetadata( diff --git a/src/vm/assemblyspec.cpp b/src/vm/assemblyspec.cpp index 004b1cb..ec42f1e 100644 --- a/src/vm/assemblyspec.cpp +++ b/src/vm/assemblyspec.cpp @@ -1256,7 +1256,6 @@ ICLRPrivBinder* AssemblySpec::GetBindingContextFromParentAssembly(AppDomain *pDo } } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) if (GetPreferFallbackLoadContextBinder()) { // If we have been asked to use the fallback load context binder (currently only supported for AssemblyLoadContext.LoadFromAssemblyName), @@ -1323,7 +1322,6 @@ ICLRPrivBinder* AssemblySpec::GetBindingContextFromParentAssembly(AppDomain *pDo // used as the parent assembly binder. pParentAssemblyBinder = static_cast(pDomain->GetFusionContext()); } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) return pParentAssemblyBinder; } diff --git a/src/vm/assemblyspec.hpp b/src/vm/assemblyspec.hpp index 2669f52..d6f5444 100644 --- a/src/vm/assemblyspec.hpp +++ b/src/vm/assemblyspec.hpp @@ -42,13 +42,11 @@ class AssemblySpec : public BaseAssemblySpec DWORD m_dwHashAlg; DomainAssembly *m_pParentAssembly; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // Contains the reference to the fallback load context associated with RefEmitted assembly requesting the load of another assembly (static or dynamic) ICLRPrivBinder *m_pFallbackLoadContextBinder; // Flag to indicate if we should prefer the fallback load context binder for binding or not. bool m_fPreferFallbackLoadContextBinder; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) BOOL IsValidAssemblyName(); @@ -76,10 +74,8 @@ class AssemblySpec : public BaseAssemblySpec LIMITED_METHOD_CONTRACT; m_pParentAssembly = NULL; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) m_pFallbackLoadContextBinder = NULL; m_fPreferFallbackLoadContextBinder = false; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) } #endif //!DACCESS_COMPILE @@ -89,10 +85,8 @@ class AssemblySpec : public BaseAssemblySpec LIMITED_METHOD_CONTRACT m_pParentAssembly = NULL; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) m_pFallbackLoadContextBinder = NULL; m_fPreferFallbackLoadContextBinder = false; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) } @@ -175,7 +169,6 @@ class AssemblySpec : public BaseAssemblySpec #endif } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) void SetFallbackLoadContextBinderForRequestingAssembly(ICLRPrivBinder *pFallbackLoadContextBinder) { LIMITED_METHOD_CONTRACT; @@ -203,7 +196,6 @@ class AssemblySpec : public BaseAssemblySpec return m_fPreferFallbackLoadContextBinder; } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // Note that this method does not clone the fields! void CopyFrom(AssemblySpec* pSource) @@ -221,11 +213,9 @@ class AssemblySpec : public BaseAssemblySpec SetIntrospectionOnly(pSource->IsIntrospectionOnly()); SetParentAssembly(pSource->GetParentAssembly()); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // Copy the details of the fallback load context binder SetFallbackLoadContextBinderForRequestingAssembly(pSource->GetFallbackLoadContextBinderForRequestingAssembly()); m_fPreferFallbackLoadContextBinder = pSource->GetPreferFallbackLoadContextBinder(); -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) m_HashForControl = pSource->m_HashForControl; m_dwHashAlg = pSource->m_dwHashAlg; diff --git a/src/vm/coreassemblyspec.cpp b/src/vm/coreassemblyspec.cpp index a850bab..d4637a1 100644 --- a/src/vm/coreassemblyspec.cpp +++ b/src/vm/coreassemblyspec.cpp @@ -355,13 +355,13 @@ HRESULT BaseAssemblySpec::ParseName() if (pIUnknownBinder != NULL) { -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#if !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) if (pDomain->GetFusionContext() != pDomain->GetTPABinderContext()) { pAppContext = (static_cast(pIUnknownBinder))->GetAppContext(); } else -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) && !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) +#endif // !defined(DACCESS_COMPILE) && !defined(CROSSGEN_COMPILE) { pAppContext = (static_cast(pIUnknownBinder))->GetAppContext(); } diff --git a/src/vm/dllimport.cpp b/src/vm/dllimport.cpp index 15d964a..9f06e11 100644 --- a/src/vm/dllimport.cpp +++ b/src/vm/dllimport.cpp @@ -6261,7 +6261,6 @@ HMODULE NDirect::LoadLibraryFromPath(LPCWSTR libraryPath) return systemModuleHandle; } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) /* static */ HMODULE NDirect::LoadLibraryModuleViaHost(NDirectMethodDesc * pMD, AppDomain* pDomain, const wchar_t* wszLibName) { @@ -6363,7 +6362,6 @@ HMODULE NDirect::LoadLibraryModuleViaHost(NDirectMethodDesc * pMD, AppDomain* pD return (HMODULE)hmod; } -#endif //defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // Try to load the module alongside the assembly where the PInvoke was declared. HMODULE NDirect::LoadFromPInvokeAssemblyDirectory(Assembly *pAssembly, LPCWSTR libName, DWORD flags, LoadLibErrorTracker *pErrorTracker) @@ -6433,7 +6431,6 @@ HINSTANCE NDirect::LoadLibraryModule(NDirectMethodDesc * pMD, LoadLibErrorTracke AppDomain* pDomain = GetAppDomain(); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // AssemblyLoadContext is not supported in AppX mode and thus, // we should not perform PInvoke resolution via it when operating in // AppX mode. @@ -6441,7 +6438,6 @@ HINSTANCE NDirect::LoadLibraryModule(NDirectMethodDesc * pMD, LoadLibErrorTracke { hmod = LoadLibraryModuleViaHost(pMD, pDomain, wszLibName); } -#endif //FEATURE_HOST_ASSEMBLY_RESOLVER if(hmod == NULL) diff --git a/src/vm/dllimport.h b/src/vm/dllimport.h index ab5b212..b08b845 100644 --- a/src/vm/dllimport.h +++ b/src/vm/dllimport.h @@ -129,9 +129,7 @@ private: static HMODULE LoadFromNativeDllSearchDirectories(AppDomain* pDomain, LPCWSTR libName, DWORD flags, LoadLibErrorTracker *pErrorTracker); static HMODULE LoadFromPInvokeAssemblyDirectory(Assembly *pAssembly, LPCWSTR libName, DWORD flags, LoadLibErrorTracker *pErrorTracker); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) static HMODULE LoadLibraryModuleViaHost(NDirectMethodDesc * pMD, AppDomain* pDomain, const wchar_t* wszLibName); -#endif //defined(FEATURE_HOST_ASSEMBLY_RESOLVER) #if !defined(FEATURE_CORESYSTEM) static HINSTANCE CheckForWellKnownModules(LPCWSTR wszLibName, LoadLibErrorTracker *pErrorTracker); diff --git a/src/vm/domainfile.cpp b/src/vm/domainfile.cpp index bf7fc57..e4d9bfc 100644 --- a/src/vm/domainfile.cpp +++ b/src/vm/domainfile.cpp @@ -3135,7 +3135,6 @@ BOOL DomainAssembly::CheckZapDependencyIdentities(PEImage *pNativeImage) AssemblySpec name; name.InitializeSpec(pDependencies->dwAssemblyDef, pNativeImage->GetNativeMDImport(), this); -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) if (!name.IsAssemblySpecForMscorlib()) { // We just initialized the assembly spec for the NI dependency. This will not have binding context @@ -3145,7 +3144,6 @@ BOOL DomainAssembly::CheckZapDependencyIdentities(PEImage *pNativeImage) _ASSERTE(pParentAssemblyBindingContext); name.SetBindingContext(pParentAssemblyBindingContext); } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) GetAppDomain()->CheckForMismatchedNativeImages(&name, &pDependencies->signAssemblyDef.mvid); } diff --git a/src/vm/ecalllist.h b/src/vm/ecalllist.h index d19624c..0cd1885 100644 --- a/src/vm/ecalllist.h +++ b/src/vm/ecalllist.h @@ -748,7 +748,6 @@ FCFuncStart(gAssemblyExtensionsFuncs) QCFuncElement("InternalTryGetRawMetadata", AssemblyNative::InternalTryGetRawMetadata) FCFuncEnd() -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) FCFuncStart(gAssemblyLoadContextFuncs) QCFuncElement("InitializeAssemblyLoadContext", AssemblyNative::InitializeAssemblyLoadContext) QCFuncElement("LoadFromPath", AssemblyNative::LoadFromPath) @@ -763,7 +762,6 @@ FCFuncStart(gAssemblyLoadContextFuncs) QCFuncElement("InternalStartProfile", MultiCoreJITNative::InternalStartProfile) #endif // defined(FEATURE_MULTICOREJIT) FCFuncEnd() -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) FCFuncStart(gAssemblyNameFuncs) FCFuncElement("nInit", AssemblyNameNative::Init) @@ -1551,9 +1549,7 @@ FCClassElement("AssemblyBuilder", "System.Reflection.Emit", gAssemblyBuilderFunc FCClassElement("AssemblyExtensions", "System.Reflection.Metadata", gAssemblyExtensionsFuncs) -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) FCClassElement("AssemblyLoadContext", "System.Runtime.Loader", gAssemblyLoadContextFuncs) -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) FCClassElement("AssemblyName", "System.Reflection", gAssemblyNameFuncs) FCClassElement("Assert", "System.Diagnostics", gDiagnosticsAssert) diff --git a/src/vm/metasig.h b/src/vm/metasig.h index 9e5f767..b452cf4 100644 --- a/src/vm/metasig.h +++ b/src/vm/metasig.h @@ -579,9 +579,7 @@ DEFINE_METASIG_T(SM(SyncCtx_ArrIntPtr_Bool_Int_RetInt, C(SYNCHRONIZATION_CONTEXT DEFINE_METASIG_T(IM(RefGuid_OutIntPtr_RetCustomQueryInterfaceResult, r(g(GUID)) r(I), g(CUSTOMQUERYINTERFACERESULT))) #endif //FEATURE_COMINTEROP -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) DEFINE_METASIG_T(SM(IntPtr_AssemblyName_RetAssemblyBase, I C(ASSEMBLY_NAME), C(ASSEMBLYBASE))) -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // ThreadPool DEFINE_METASIG(SM(Obj_Bool_RetVoid, j F, v)) diff --git a/src/vm/mscorlib.h b/src/vm/mscorlib.h index 506faca..630ac14 100644 --- a/src/vm/mscorlib.h +++ b/src/vm/mscorlib.h @@ -1416,15 +1416,11 @@ DEFINE_METHOD(UNHANDLED_EVENTARGS, CTOR, .ctor, DEFINE_CLASS(FIRSTCHANCE_EVENTARGS, ExceptionServices, FirstChanceExceptionEventArgs) DEFINE_METHOD(FIRSTCHANCE_EVENTARGS, CTOR, .ctor, IM_Exception_RetVoid) -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) - DEFINE_CLASS(ASSEMBLYLOADCONTEXT, Loader, AssemblyLoadContext) DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVE, Resolve, SM_IntPtr_AssemblyName_RetAssemblyBase) DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUNMANAGEDDLL, ResolveUnmanagedDll, SM_Str_IntPtr_RetIntPtr) DEFINE_METHOD(ASSEMBLYLOADCONTEXT, RESOLVEUSINGEVENT, ResolveUsingResolvingEvent, SM_IntPtr_AssemblyName_RetAssemblyBase) -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) - DEFINE_CLASS(LAZY, System, Lazy`1) DEFINE_CLASS(LAZY_INITIALIZER, Threading, LazyInitializer) diff --git a/src/vm/namespace.h b/src/vm/namespace.h index eb69aa9..824226b 100644 --- a/src/vm/namespace.h +++ b/src/vm/namespace.h @@ -76,6 +76,4 @@ #define g_ExceptionServicesNS g_RuntimeNS ".ExceptionServices" -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) #define g_LoaderNS g_RuntimeNS ".Loader" -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) diff --git a/src/vm/pefile.cpp b/src/vm/pefile.cpp index 09b4dcb..fcbd290 100644 --- a/src/vm/pefile.cpp +++ b/src/vm/pefile.cpp @@ -86,9 +86,7 @@ PEFile::PEFile(PEImage *identity, BOOL fCheckAuthenticodeSignature/*=TRUE*/) : m_flags(0), m_fStrongNameVerified(FALSE) ,m_pHostAssembly(nullptr) -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) ,m_pFallbackLoadContextBinder(nullptr) -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) { CONTRACTL { diff --git a/src/vm/pefile.h b/src/vm/pefile.h index 60a9a36..0681b3e 100644 --- a/src/vm/pefile.h +++ b/src/vm/pefile.h @@ -636,7 +636,6 @@ public: protected: PTR_ICLRPrivAssembly m_pHostAssembly; -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // For certain assemblies, we do not have m_pHostAssembly since they are not bound using an actual binder. // An example is Ref-Emitted assemblies. Thus, when such assemblies trigger load of their dependencies, // we need to ensure they are loaded in appropriate load context. @@ -645,7 +644,6 @@ protected: // assembly that created the dynamic assembly. If the creator assembly is dynamic itself, then its fallback // load context would be propagated to the assembly being dynamically generated. ICLRPrivBinder *m_pFallbackLoadContextBinder; -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) protected: @@ -673,7 +671,6 @@ public: bool CanUseWithBindingCache() { LIMITED_METHOD_CONTRACT; return !HasHostAssembly(); } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) void SetFallbackLoadContextBinder(ICLRPrivBinder *pFallbackLoadContextBinder) { LIMITED_METHOD_CONTRACT; @@ -686,7 +683,6 @@ public: return m_pFallbackLoadContextBinder; } -#endif //defined(FEATURE_HOST_ASSEMBLY_RESOLVER) }; // class PEFile diff --git a/src/vm/typeparse.cpp b/src/vm/typeparse.cpp index 28521f1..2cd3b19 100644 --- a/src/vm/typeparse.cpp +++ b/src/vm/typeparse.cpp @@ -1902,7 +1902,6 @@ DomainAssembly * LoadDomainAssembly( spec.SetParentAssembly(pRequestingAssembly->GetDomainAssembly()); } -#if defined(FEATURE_HOST_ASSEMBLY_RESOLVER) // If the requesting assembly has Fallback LoadContext binder available, // then set it up in the AssemblySpec. if (pRequestingAssembly != NULL) @@ -1910,7 +1909,6 @@ DomainAssembly * LoadDomainAssembly( PEFile *pRequestingAssemblyManifestFile = pRequestingAssembly->GetManifestFile(); spec.SetFallbackLoadContextBinderForRequestingAssembly(pRequestingAssemblyManifestFile->GetFallbackLoadContextBinder()); } -#endif // defined(FEATURE_HOST_ASSEMBLY_RESOLVER) if (bThrowIfNotFound) {