diff options
Diffstat (limited to 'src/vm/assembly.hpp')
-rw-r--r-- | src/vm/assembly.hpp | 158 |
1 files changed, 12 insertions, 146 deletions
diff --git a/src/vm/assembly.hpp b/src/vm/assembly.hpp index 54bb03de96..0fdb9a248a 100644 --- a/src/vm/assembly.hpp +++ b/src/vm/assembly.hpp @@ -18,10 +18,6 @@ #include "ceeload.h" #include "exceptmacros.h" #include "clsload.hpp" -#ifdef FEATURE_FUSION -#include "fusion.h" -#include "fusionbind.h" -#endif #include "eehash.h" #include "listlock.h" #include "iceefilegen.h" @@ -122,10 +118,6 @@ public: Assembly(BaseDomain *pDomain, PEAssembly *pFile, DebuggerAssemblyControlFlags debuggerFlags, BOOL fIsCollectible); void Init(AllocMemTracker *pamTracker, LoaderAllocator *pLoaderAllocator); -#if defined(FEATURE_TRACELOGGING) - void TelemetryLogTargetFrameworkAttribute(); -#endif // FEATURE_TRACELOGGING - void StartUnload(); void Terminate( BOOL signalProfiler = TRUE ); @@ -134,9 +126,6 @@ public: BOOL IsSystem() { WRAPPER_NO_CONTRACT; return m_pManifestFile->IsSystem(); } static Assembly *CreateDynamic(AppDomain *pDomain, CreateDynamicAssemblyArgs *args); -#ifdef FEATURE_MULTIMODULE_ASSEMBLIES - ReflectionModule *CreateDynamicModule(LPCWSTR szModuleName, LPCWSTR szFileName, BOOL fIsTransient, INT32* ptkFile = NULL); -#endif MethodDesc *GetEntryPoint(); @@ -241,17 +230,7 @@ public: return ModuleIterator(this); } -#ifdef FEATURE_MULTIMODULE_ASSEMBLIES - //**************************************************************************************** - // - // Find the module - Module* FindModule(PEFile *pFile, BOOL includeLoading = FALSE); -#endif // FEATURE_MULTIMODULE_ASSEMBLIES -#ifdef FEATURE_MIXEDMODE - // Finds loading modules as well - DomainFile* FindIJWDomainFile(HMODULE hMod, const SString &path); -#endif //**************************************************************************************** // // Get the domain the assembly lives in. @@ -291,9 +270,9 @@ public: BOOL GetModuleZapFile(LPCWSTR name, SString &path); -#if defined(FEATURE_APTCA) || defined(FEATURE_CORESYSTEM) +#if defined(FEATURE_CORESYSTEM) BOOL AllowUntrustedCaller(); -#endif // defined(FEATURE_APTCA) || defined(FEATURE_CORESYSTEM) +#endif // defined(FEATURE_CORESYSTEM) #ifdef LOGGING LPCWSTR GetDebugName() @@ -531,23 +510,7 @@ public: void AddType(Module* pModule, mdTypeDef cl); void AddExportedType(mdExportedType cl); -#ifndef FEATURE_CORECLR - void PrepareSavingManifest(ReflectionModule *pAssemblyModule); - mdFile AddFile(LPCWSTR wszFileName); - void SetFileHashValue(mdFile tkFile, LPCWSTR wszFullFileName); -#endif mdAssemblyRef AddAssemblyRef(Assembly *refedAssembly, IMetaDataAssemblyEmit *pAssemEmitter = NULL, BOOL fUsePublicKeyToken = TRUE); -#ifndef FEATURE_CORECLR - mdExportedType AddExportedTypeOnDisk(LPCWSTR wszExportedType, mdToken tkImpl, mdToken tkTypeDef, CorTypeAttr flags); - mdExportedType AddExportedTypeInMemory(LPCWSTR wszExportedType, mdToken tkImpl, mdToken tkTypeDef, CorTypeAttr flags); - void AddStandAloneResource(LPCWSTR wszName, LPCWSTR wszDescription, LPCWSTR wszMimeType, LPCWSTR wszFileName, LPCWSTR wszFullFileName, int iAttribute); - void SaveManifestToDisk(LPCWSTR wszFileName, int entrypoint, int fileKind, DWORD corhFlags, DWORD peFlags); -#endif // FEATURE_CORECLR -#ifndef FEATURE_CORECLR - void AddDeclarativeSecurity(DWORD dwAction, void const *pValue, DWORD cbValue); - - IMetaDataAssemblyEmit *GetOnDiskMDAssemblyEmitter(); -#endif // FEATURE_CORECLR //**************************************************************************************** @@ -581,10 +544,6 @@ public: #ifdef FEATURE_LOADER_OPTIMIZATION BOOL MissingDependenciesCheckDone(); void SetMissingDependenciesCheckDone(); -#ifdef FEATURE_FUSION - void SetBindingClosure(IAssemblyBindingClosure* pClosure); // Addrefs. It is assumed the caller did not addref pClosure for us. - IAssemblyBindingClosure* GetBindingClosure(); -#endif #endif // FEATURE_LOADER_OPTIMIZATION void SetDomainNeutral() { LIMITED_METHOD_CONTRACT; m_fIsDomainNeutral = TRUE; } @@ -592,7 +551,7 @@ public: BOOL IsSIMDVectorAssembly() { LIMITED_METHOD_DAC_CONTRACT; return m_fIsSIMDVectorAssembly; } -#ifdef FEATURE_PREJIT +#ifdef FEATURE_PREJIT BOOL IsInstrumented(); BOOL IsInstrumentedHelper(); #endif // FEATURE_PREJIT @@ -601,31 +560,6 @@ public: HCEEFILE ceeFile); HRESULT SignWithStrongName(LPCWSTR wszFileName); -#ifdef FEATURE_FUSION - IAssembly* GetFusionAssembly() - { - WRAPPER_NO_CONTRACT; - return m_pManifestFile->GetFusionAssembly(); - } - - IAssemblyName* GetFusionAssemblyName() - { - WRAPPER_NO_CONTRACT; - return m_pManifestFile->GetFusionAssemblyName(); - } - - IAssemblyName* GetFusionAssemblyNameNoCreate() - { - WRAPPER_NO_CONTRACT; - return m_pManifestFile->GetFusionAssemblyNameNoCreate(); - } - - IHostAssembly* GetIHostAssembly() - { - WRAPPER_NO_CONTRACT; - return m_pManifestFile->GetIHostAssembly(); - } -#endif// FEATURE_FUSION #ifdef FEATURE_COMINTEROP // Get any cached ITypeLib* for the assembly. @@ -672,10 +606,6 @@ public: //**************************************************************************************** // -#ifdef FEATURE_MULTIMODULE_ASSEMBLIES - PEModule * LoadModule_AddRef(mdFile kFile, BOOL fLoadResource); - PEModule * RaiseModuleResolveEvent_AddRef(LPCSTR szName, mdFile kFile); -#endif // FEATURE_MULTIMODULE_ASSEMBLIES static BOOL FileNotFound(HRESULT hr); //**************************************************************************************** @@ -714,13 +644,6 @@ public: IWinMDImport *GetManifestWinMDImport(); #endif -#ifndef FEATURE_CORECLR - BOOL SupportsAutoNGen() - { - WRAPPER_NO_CONTRACT; - return m_fSupportsAutoNGen; - } -#endif protected: @@ -781,13 +704,6 @@ protected: // Keep track of the vars that need to be freed. short int m_FreeFlag; -#ifdef FEATURE_MULTIMODULE_ASSEMBLIES - // Hash of files in manifest by name to File token - PTR_EEUtf8StringHashTable m_pAllowedFiles; - // Critical section guarding m_pAllowedFiles - Crst m_crstAllowedFiles; -#endif - private: //**************************************************************************************** @@ -797,15 +713,6 @@ private: void CacheFriendAssemblyInfo(); -#ifndef FEATURE_CORECLR - void GenerateBreadcrumbForServicing(); - void WriteBreadcrumb(const SString &ssDisplayName); - bool HasServiceableAttribute(); - bool IsExistingOobAssembly(); - void CheckDenyList(const SString &ssDisplayName); - - BOOL SupportsAutoNGenWorker(); -#endif PTR_BaseDomain m_pDomain; // Parent Domain PTR_ClassLoader m_pClassLoader; // Single Loader @@ -856,9 +763,6 @@ private: BOOL m_fIsDomainNeutral; #ifdef FEATURE_LOADER_OPTIMIZATION BOOL m_bMissingDependenciesCheckDone; -#ifdef FEATURE_FUSION - IAssemblyBindingClosure * m_pBindingClosure; -#endif #endif // FEATURE_LOADER_OPTIMIZATION DebuggerAssemblyControlFlags m_debuggerFlags; @@ -870,9 +774,15 @@ private: DWORD m_dwReliabilityContract; -#ifndef FEATURE_CORECLR - BOOL m_fSupportsAutoNGen; -#endif +#ifdef FEATURE_PREJIT + enum IsInstrumentedStatus { + IS_INSTRUMENTED_UNSET = 0, + IS_INSTRUMENTED_FALSE = 1, + IS_INSTRUMENTED_TRUE = 2, + }; + IsInstrumentedStatus m_isInstrumentedStatus; +#endif // FEATURE_PREJIT + }; typedef Assembly::ModuleIterator ModuleIterator; @@ -923,25 +833,6 @@ public: return IsAssemblyOnList(pAccessingAssembly, m_alFullAccessFriendAssemblies); } -#ifndef FEATURE_CORECLR - //------------------------------------------------------------------------------ - // It is undesirable to reintroduce the concept of inquiring about friendship without specifying a member or type - // but necessary for TP. In case of doubt, it's safer to return "true" as this won't affect - // correctness (but might cause unnecessary ngen's when updating assemblies.) - //------------------------------------------------------------------------------ - bool MightGrantFriendAccessTo(PEAssembly *pAccessingAssembly) - { - CONTRACTL - { - THROWS; - GC_TRIGGERS; - PRECONDITION(CheckPointer(pAccessingAssembly)); - } - CONTRACTL_END; - - return IsAssemblyOnList(pAccessingAssembly, m_alFullAccessFriendAssemblies); - } -#endif // !FEATURE_CORECLR bool IgnoresAccessChecksTo(Assembly *pAccessedAssembly) { @@ -949,13 +840,8 @@ public: } private: -#ifdef FEATURE_FUSION - typedef IAssemblyName FriendAssemblyName_t; - typedef NonVMComHolder<IAssemblyName> FriendAssemblyNameHolder; -#else // FEATURE_FUSION typedef AssemblySpec FriendAssemblyName_t; typedef NewHolder<AssemblySpec> FriendAssemblyNameHolder; -#endif // FEATURE_FUSION ArrayList m_alFullAccessFriendAssemblies; // Friend assemblies which have access to all internals ArrayList m_subjectAssemblies; // Subject assemblies which we will not perform access checks against @@ -977,25 +863,5 @@ private: #endif // !DACCESS_COMPILE -#if !defined(FEATURE_CORECLR) && !defined(CROSSGEN_COMPILE) -class ExistingOobAssemblyList -{ -public: -#ifndef DACCESS_COMPILE - ExistingOobAssemblyList(); - - bool IsOnlist(Assembly *pAssembly); - - static void Init(); - static ExistingOobAssemblyList *Instance() { return s_pInstance; } -#endif - -private: - ArrayList m_alExistingOobAssemblies; - - // The single instance of this class: - static ExistingOobAssemblyList *s_pInstance; -}; -#endif // !defined(FEATURE_CORECLR) && !defined(CROSSGEN_COMPILE) #endif |