diff options
author | Jan Kotas <jkotas@microsoft.com> | 2018-08-11 07:43:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-11 07:43:16 -0700 |
commit | af4ec7c89d0192ad14392da04e8c097da8ec9e48 (patch) | |
tree | 0b3018c1c576114d2b5b0f355df6ff48972a6c5d /src/vm/assembly.hpp | |
parent | f551543427176850c84b9e11c7b8d528c3f282a7 (diff) | |
download | coreclr-af4ec7c89d0192ad14392da04e8c097da8ec9e48.tar.gz coreclr-af4ec7c89d0192ad14392da04e8c097da8ec9e48.tar.bz2 coreclr-af4ec7c89d0192ad14392da04e8c097da8ec9e48.zip |
Make RuntimeType sealed and deleted support for introspection only loads (#19427)
- Sealed Runtime makes `is RuntimeType` and similar checks faster. These checks are fairly common in reflection.
- Delete support for introspection only loads from the runtime. We do not plan to use in .NET Core. The support for introspection loads inherited from RuntimeType and thus it is incompatible with sealed RuntimeType.
Diffstat (limited to 'src/vm/assembly.hpp')
-rw-r--r-- | src/vm/assembly.hpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/vm/assembly.hpp b/src/vm/assembly.hpp index fdb885494c..7a25d03999 100644 --- a/src/vm/assembly.hpp +++ b/src/vm/assembly.hpp @@ -53,7 +53,6 @@ class FriendAssemblyDescriptor; // Bits in m_dwDynamicAssemblyAccess (see System.Reflection.Emit.AssemblyBuilderAccess.cs) #define ASSEMBLY_ACCESS_RUN 0x01 #define ASSEMBLY_ACCESS_SAVE 0x02 -#define ASSEMBLY_ACCESS_REFLECTION_ONLY 0x04 #define ASSEMBLY_ACCESS_COLLECT 0x8 struct CreateDynamicAssemblyArgsGC @@ -221,12 +220,6 @@ public: void SetParent(BaseDomain* pParent); //----------------------------------------------------------------------------------------- - // If true, this assembly is loaded only for introspection. We can load modules, types, etc, - // but no code execution or object instantiation is permitted. - //----------------------------------------------------------------------------------------- - BOOL IsIntrospectionOnly(); - - //----------------------------------------------------------------------------------------- // EnsureActive ensures that the assembly is properly prepped in the current app domain // for active uses like code execution, static field access, and instance allocation //----------------------------------------------------------------------------------------- @@ -323,7 +316,7 @@ public: BOOL CanSkipPolicyResolution() { WRAPPER_NO_CONTRACT; - return IsSystem() || IsIntrospectionOnly() || (m_isDynamic && !(m_dwDynamicAssemblyAccess & ASSEMBLY_ACCESS_RUN)); + return IsSystem() || (m_isDynamic && !(m_dwDynamicAssemblyAccess & ASSEMBLY_ACCESS_RUN)); } PTR_LoaderHeap GetLowFrequencyHeap(); |