@@ -2258,7 +2258,6 @@ Assembly *
22582258Module::GetAssemblyIfLoaded (
22592259 mdAssemblyRef kAssemblyRef ,
22602260 IMDInternalImport * pMDImportOverride, // = NULL
2261- BOOL fDoNotUtilizeExtraChecks , // = FALSE
22622261 AssemblyBinder *pBinderForLoadedAssembly // = NULL
22632262)
22642263{
@@ -2387,9 +2386,9 @@ ModuleBase::GetAssemblyRefFlags(
23872386} // Module::GetAssemblyRefFlags
23882387
23892388#ifndef DACCESS_COMPILE
2390- DomainAssembly * Module::LoadAssemblyImpl (mdAssemblyRef kAssemblyRef )
2389+ Assembly * Module::LoadAssemblyImpl (mdAssemblyRef kAssemblyRef )
23912390{
2392- CONTRACT (DomainAssembly *)
2391+ CONTRACT (Assembly *)
23932392 {
23942393 INSTANCE_CHECK;
23952394 if (FORBIDGC_LOADER_USE_ENABLED ()) NOTHROW; else THROWS;
@@ -2402,20 +2401,17 @@ DomainAssembly * Module::LoadAssemblyImpl(mdAssemblyRef kAssemblyRef)
24022401
24032402 ETWOnStartup (LoaderCatchCall_V1, LoaderCatchCallEnd_V1);
24042403
2405- DomainAssembly * pDomainAssembly;
2406-
24072404 //
24082405 // Early out quickly if the result is cached
24092406 //
24102407 Assembly * pAssembly = LookupAssemblyRef (kAssemblyRef );
24112408 if (pAssembly != NULL )
24122409 {
2413- pDomainAssembly = pAssembly->GetDomainAssembly ();
2414- ::GetAppDomain ()->LoadDomainAssembly(pDomainAssembly, FILE_LOADED);
2415-
2416- RETURN pDomainAssembly;
2410+ ::GetAppDomain ()->LoadDomainAssembly(pAssembly->GetDomainAssembly (), FILE_LOADED);
2411+ RETURN pAssembly;
24172412 }
24182413
2414+ DomainAssembly * pDomainAssembly;
24192415 {
24202416 PEAssemblyHolder pPEAssembly = GetPEAssembly ()->LoadAssembly (kAssemblyRef );
24212417 AssemblySpec spec;
@@ -2431,23 +2427,18 @@ DomainAssembly * Module::LoadAssemblyImpl(mdAssemblyRef kAssemblyRef)
24312427 pDomainAssembly = GetAppDomain ()->LoadDomainAssembly (&spec, pPEAssembly, FILE_LOADED);
24322428 }
24332429
2434- if (pDomainAssembly != NULL )
2435- {
2436- _ASSERTE (
2437- pDomainAssembly->IsSystem () || // GetAssemblyIfLoaded will not find CoreLib (see AppDomain::FindCachedFile)
2438- !pDomainAssembly->IsLoaded () || // GetAssemblyIfLoaded will not find not-yet-loaded assemblies
2439- GetAssemblyIfLoaded (kAssemblyRef , NULL , FALSE , pDomainAssembly->GetPEAssembly ()->GetHostAssembly ()->GetBinder ()) != NULL ); // GetAssemblyIfLoaded should find all remaining cases
2430+ pAssembly = pDomainAssembly->GetAssembly ();
2431+ _ASSERTE (pDomainAssembly->IsLoaded () && pAssembly != NULL);
2432+ _ASSERTE (
2433+ pDomainAssembly->IsSystem () || // GetAssemblyIfLoaded will not find CoreLib (see AppDomain::FindCachedFile)
2434+ GetAssemblyIfLoaded(kAssemblyRef , NULL , pDomainAssembly->GetPEAssembly ()->GetHostAssembly()->GetBinder()) != NULL); // GetAssemblyIfLoaded should find all remaining cases
24402435
2441- if (pDomainAssembly->GetAssembly () != NULL )
2442- {
2443- StoreAssemblyRef (kAssemblyRef , pDomainAssembly->GetAssembly ());
2444- }
2445- }
2436+ StoreAssemblyRef (kAssemblyRef , pAssembly);
24462437
2447- RETURN pDomainAssembly ;
2438+ RETURN pAssembly ;
24482439}
24492440#else
2450- DomainAssembly * Module::LoadAssemblyImpl (mdAssemblyRef kAssemblyRef )
2441+ Assembly * Module::LoadAssemblyImpl (mdAssemblyRef kAssemblyRef )
24512442{
24522443 WRAPPER_NO_CONTRACT;
24532444 ThrowHR (E_FAIL);
0 commit comments