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/assemblynative.cpp | |
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/assemblynative.cpp')
-rw-r--r-- | src/vm/assemblynative.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/vm/assemblynative.cpp b/src/vm/assemblynative.cpp index b6650709d0..830cadffae 100644 --- a/src/vm/assemblynative.cpp +++ b/src/vm/assemblynative.cpp @@ -107,7 +107,6 @@ FCIMPL7(Object*, AssemblyNative::Load, AssemblyNameBaseObject* assemblyNameUNSAF AssemblySpec spec; spec.InitializeSpec(&(pThread->m_MarshalAlloc), &gc.assemblyName, - FALSE, FALSE); if (!spec.HasUniqueIdentity()) @@ -146,7 +145,7 @@ FCIMPL7(Object*, AssemblyNative::Load, AssemblyNameBaseObject* assemblyNameUNSAF { GCX_PREEMP(); - pAssembly = spec.LoadAssembly(FILE_LOADED, fThrowOnFileNotFound, FALSE /*fRaisePrebindEvents*/, stackMark); + pAssembly = spec.LoadAssembly(FILE_LOADED, fThrowOnFileNotFound, stackMark); } if (pAssembly != NULL) @@ -239,7 +238,7 @@ Assembly* AssemblyNative::LoadFromPEImage(ICLRPrivBinder* pBinderContext, PEImag BINDER_SPACE::Assembly* assem; assem = BINDER_SPACE::GetAssemblyFromPrivAssemblyFast(pAssembly); - PEAssemblyHolder pPEAssembly(PEAssembly::Open(pParentAssembly, assem->GetPEImage(), assem->GetNativePEImage(), pAssembly, FALSE)); + PEAssemblyHolder pPEAssembly(PEAssembly::Open(pParentAssembly, assem->GetPEImage(), assem->GetNativePEImage(), pAssembly)); DomainAssembly *pDomainAssembly = pCurDomain->LoadDomainAssembly(&spec, pPEAssembly, FILE_LOADED); RETURN pDomainAssembly->GetAssembly(); @@ -416,7 +415,7 @@ void QCALLTYPE AssemblyNative::GetType(QCall::AssemblyHandle pAssembly, LPCWSTR BOOL prohibitAsmQualifiedName = TRUE; // Load the class from this assembly (fail if it is in a different one). - retTypeHandle = TypeName::GetTypeManaged(wszName, pAssembly, bThrowOnError, bIgnoreCase, pAssembly->IsIntrospectionOnly(), prohibitAsmQualifiedName, NULL, FALSE, (OBJECTREF*)keepAlive.m_ppObject); + retTypeHandle = TypeName::GetTypeManaged(wszName, pAssembly, bThrowOnError, bIgnoreCase, prohibitAsmQualifiedName, NULL, FALSE, (OBJECTREF*)keepAlive.m_ppObject); if (!retTypeHandle.IsNull()) { |