diff options
Diffstat (limited to 'src/vm/genmeth.cpp')
-rw-r--r-- | src/vm/genmeth.cpp | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/vm/genmeth.cpp b/src/vm/genmeth.cpp index f142fb4ae6..8f282fa98e 100644 --- a/src/vm/genmeth.cpp +++ b/src/vm/genmeth.cpp @@ -356,72 +356,6 @@ InstantiatedMethodDesc::NewInstantiatedMethodDesc(MethodTable *pExactMT, // Crst goes out of scope here // We don't need to hold the crst while we build the MethodDesc, but we reacquire it later } - -#ifdef FEATURE_PREJIT - // This section is the search for an instantiation in the various NGEN images - // where we may have precompiled the instantiation. - // Never use dyn link zap items during ngen time. We will independently decide later - // whether we want to store the item into ngen image or not. - if ((pNewMD == NULL) && !IsCompilationProcess()) - { - // We need to know which domain the item must live in (DomainNeutral or AppDomain) - // <TODO>We can't use pDomain because at NGEN - // time this may not be accurate - this must be cleaned up as part of getting - // rid of GetLoaderModule() altogether.... </TODO> - BaseDomain * pRequiredDomain = BaseDomain::ComputeBaseDomain( - pExactMT->GetDomain(), - pExactMT->GetInstantiation(), - methodInst); - - // Next look in each ngen'ed image in turn - AppDomain::AssemblyIterator assemblyIterator = GetAppDomain()->IterateAssembliesEx((AssemblyIterationFlags)( - kIncludeLoaded | kIncludeExecution)); - CollectibleAssemblyHolder<DomainAssembly *> pDomainAssembly; - while ((pNewMD == NULL) && assemblyIterator.Next(pDomainAssembly.This())) - { - // Make sure the domain of the NGEN'd images associated with the assembly matches... - // No need to check this when NGEN'ing - CollectibleAssemblyHolder<Assembly *> pAssembly = pDomainAssembly->GetLoadedAssembly(); - if (GetAppDomain()->IsCompilationDomain() || (pAssembly->GetDomain() == pRequiredDomain)) - { - DomainAssembly::ModuleIterator i = pDomainAssembly->IterateModules(kModIterIncludeLoaded); - while ((pNewMD == NULL) && i.Next()) - { - Module * pModule = i.GetLoadedModule(); - if (!pModule->HasNativeImage()) - continue; - _ASSERTE(!pModule->IsCollectible()); - - // We don't need to track references to normal (non-collectible) assemblies - pNewMD = (InstantiatedMethodDesc *)pModule->GetInstMethodHashTable()->FindMethodDesc( - TypeHandle(pExactMT), - pGenericMDescInRepMT->GetMemberDef(), - FALSE /* not forceBoxedEntryPoint */, - methodInst, - getWrappedCode); - if (pNewMD == NULL) - continue; -#ifdef _DEBUG -#ifndef DACCESS_COMPILE - if (LoggingOn(LF_CLASSLOADER, LL_INFO10000)) - { - StackSString methodName; - pNewMD->CheckRestore(); - TypeString::AppendMethodDebug(methodName, pNewMD); - LOG((LF_CLASSLOADER, LL_INFO10000, "Found method %S in non-preferred zap module %S\n", methodName.GetUnicode(), pModule->GetPath().GetUnicode())); - } -#endif //!DACCESS_COMPILE -#endif //_DEBUG - } - } - else - { - LOG((LF_CLASSLOADER, LL_INFO10000, "Skipping assembly %S due to domain mismatch when searching for prejitted instantiation\n", - pAssembly->GetDebugName())); - } - } - } -#endif // FEATURE_PREJIT if (pNewMD != NULL) { |