From 5478a2f17f58033c32a810526b4868cba7952f32 Mon Sep 17 00:00:00 2001 From: Fadi Hanna Date: Wed, 9 Jan 2019 13:19:04 -0800 Subject: [PATCH] Change CoreLib native image to be R2R by default on all platforms (#21497) --- build.cmd | 8 ++------ src/tools/crossgen/crossgen.cpp | 21 +++++---------------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/build.cmd b/build.cmd index 71565e5..d710084 100644 --- a/build.cmd +++ b/build.cmd @@ -182,8 +182,8 @@ if /i "%1" == "-usenmakemakefiles" (set __NMakeMakefiles=1&set __ConfigureOnly if /i "%1" == "-pgoinstrument" (set __PgoInstrument=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-enforcepgo" (set __EnforcePgo=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-nopgooptimize" (set __PgoOptimize=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) -if /i "%1" == "-ibcoptimize" (set __IbcOptimize=1&set __PartialNgen=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) -if /i "%1" == "-ibconly" (set __IbcOptimize=1&set __PartialNgen=1&set __IbcOnly=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "-ibcoptimize" (set __IbcOptimize=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "-ibconly" (set __IbcOptimize=1&set __IbcOnly=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-ibcinstrument" (set __IbcTuning=/Tuning&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "-crossgenaltjit" (set __CrossgenAltJit=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) @@ -766,10 +766,6 @@ if %__BuildNativeCoreLib% EQU 1 ( set COMPlus_ContinueOnAssert=0 ) - if defined __PartialNgen ( - set COMPlus_PartialNgen=1 - ) - set NEXTCMD="%__CrossgenExe%" %__IbcTuning% /Platform_Assemblies_Paths "%__BinDir%"\IL /out "%__BinDir%\System.Private.CoreLib.dll" "%__BinDir%\IL\System.Private.CoreLib.dll" echo %__MsgPrefix%!NEXTCMD! echo %__MsgPrefix%!NEXTCMD! >> "%__CrossGenCoreLibLog%" diff --git a/src/tools/crossgen/crossgen.cpp b/src/tools/crossgen/crossgen.cpp index 48e52db..e208bc3 100644 --- a/src/tools/crossgen/crossgen.cpp +++ b/src/tools/crossgen/crossgen.cpp @@ -297,7 +297,7 @@ bool ComputeMscorlibPathFromTrustedPlatformAssemblies(SString& pwzMscorlibPath, // Given a path terminated with "\\" and a search mask, this function will add // the enumerated files, corresponding to the search mask, from the path into // the refTPAList. -void PopulateTPAList(SString path, LPCWSTR pwszMask, SString &refTPAList, bool fCompilingMscorlib, bool fCreatePDB) +void PopulateTPAList(SString path, LPCWSTR pwszMask, SString &refTPAList, bool fCreatePDB) { _ASSERTE(path.GetCount() > 0); ClrDirectoryEnumerator folderEnumerator(path.GetUnicode(), pwszMask); @@ -339,7 +339,7 @@ void PopulateTPAList(SString path, LPCWSTR pwszMask, SString &refTPAList, bool f // Given a semi-colon delimited set of absolute folder paths (pwzPlatformAssembliesPaths), this function // will enumerate all EXE/DLL modules in those folders and add them to the TPAList buffer (refTPAList). -void ComputeTPAListFromPlatformAssembliesPath(LPCWSTR pwzPlatformAssembliesPaths, SString &refTPAList, bool fCompilingMscorlib, bool fCreatePDB) +void ComputeTPAListFromPlatformAssembliesPath(LPCWSTR pwzPlatformAssembliesPaths, SString &refTPAList, bool fCreatePDB) { // We should have a valid pointer to the paths _ASSERTE(pwzPlatformAssembliesPaths != NULL); @@ -382,8 +382,8 @@ void ComputeTPAListFromPlatformAssembliesPath(LPCWSTR pwzPlatformAssembliesPaths // Enumerate the EXE/DLL modules within this path and add them to the TPAList EX_TRY { - PopulateTPAList(qualifiedPath, W("*.exe"), refTPAList, fCompilingMscorlib, fCreatePDB); - PopulateTPAList(qualifiedPath, W("*.dll"), refTPAList, fCompilingMscorlib, fCreatePDB); + PopulateTPAList(qualifiedPath, W("*.exe"), refTPAList, fCreatePDB); + PopulateTPAList(qualifiedPath, W("*.dll"), refTPAList, fCreatePDB); } EX_CATCH { @@ -422,7 +422,6 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv) LPWSTR pwzSearchPathForManagedPDB = NULL; LPCWSTR pwzOutputFilename = NULL; LPCWSTR pwzPublicKeys = nullptr; - bool fExplicitReadyToRunSwitch = false; #if !defined(FEATURE_MERGE_JIT_AND_ENGINE) LPCWSTR pwszCLRJITPath = nullptr; @@ -514,7 +513,6 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv) else if (MatchParameter(*argv, W("ReadyToRun"))) { dwFlags |= NGENWORKER_FLAGS_READYTORUN; - fExplicitReadyToRunSwitch = true; } else if (MatchParameter(*argv, W("FragileNonVersionable"))) { @@ -831,15 +829,6 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv) // To avoid this issue, put the input file as the first item in TPA. ssTPAList.Append(pwzFilename); } - - // Are we compiling mscorlib.dll? - bool fCompilingMscorlib = StringEndsWith((LPWSTR)pwzFilename, CoreLibName_IL_W); - -// Disable fragile NGen when compiling Mscorlib for ARM. -#if !(defined(_TARGET_ARM_) || defined(_TARGET_ARM64_)) - if (fCompilingMscorlib && !fExplicitReadyToRunSwitch) - dwFlags &= ~NGENWORKER_FLAGS_READYTORUN; -#endif // !(_TARGET_ARM_ || _TARGET_ARM64_) if(pwzPlatformAssembliesPaths != nullptr) { @@ -847,7 +836,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv) _ASSERTE(pwzTrustedPlatformAssemblies == nullptr); // Formulate the TPAList from Platform_Assemblies_Paths - ComputeTPAListFromPlatformAssembliesPath(pwzPlatformAssembliesPaths, ssTPAList, fCompilingMscorlib, fCreatePDB); + ComputeTPAListFromPlatformAssembliesPath(pwzPlatformAssembliesPaths, ssTPAList, fCreatePDB); pwzTrustedPlatformAssemblies = (WCHAR *)ssTPAList.GetUnicode(); pwzPlatformAssembliesPaths = NULL; } -- 2.7.4