summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPat Gavlin <pagavlin@microsoft.com>2016-10-03 12:49:17 -0700
committerPat Gavlin <pagavlin@microsoft.com>2016-10-04 13:54:29 -0700
commit345a33c2ad93514152382ad371992adfb3b56eda (patch)
tree393a20f050ea1584010aafd40cc18aa31282ff59
parent89bf443d2787e1b4754718bf28e71da248ea7727 (diff)
downloadcoreclr-345a33c2ad93514152382ad371992adfb3b56eda.tar.gz
coreclr-345a33c2ad93514152382ad371992adfb3b56eda.tar.bz2
coreclr-345a33c2ad93514152382ad371992adfb3b56eda.zip
Add an option to crossgen S.P.CoreLib using the alt jit.
This also changes the x86/RyuJIT CI job to pass this option to build.cmd. This leg will now use RyuJIT when crossgen'ing S.P.CoreLib and when running tests.
-rw-r--r--build.cmd16
-rwxr-xr-xnetci.groovy15
2 files changed, 25 insertions, 6 deletions
diff --git a/build.cmd b/build.cmd
index 4e6d4eea63..69026de353 100644
--- a/build.cmd
+++ b/build.cmd
@@ -104,6 +104,7 @@ if /i "%1" == "skipbuildpackages" (set __BuildPackages=0&set processedArgs=!pr
if /i "%1" == "usenmakemakefiles" (set __NMakeMakefiles=1&set __ConfigureOnly=1&set __BuildNative=1&set __BuildNativeCoreLib=0&set __BuildCoreLib=0&set __BuildTests=0&set __BuildPackages=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "buildjit32" (set __BuildJit32="-DBUILD_JIT32=1"&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if /i "%1" == "toolset_dir" (set __ToolsetDir=%2&set __PassThroughArgs=%__PassThroughArgs% %2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop)
+if /i "%1" == "altjitcrossgen" (set __AltJitCrossgen=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop)
if [!processedArgs!]==[] (
call set __UnprocessedBuildArgs=!__args!
@@ -373,8 +374,21 @@ if %__BuildNativeCoreLib% EQU 1 (
set "__CrossGenCoreLibLog=%__LogsDir%\CrossgenMSCoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
set "__CrossgenExe=%__CrossComponentBinDir%\crossgen.exe"
+
+ if "%__AltJitCrossgen%"=="1" (
+ set COMPlus_AltJitNgen=*
+ set COMPlus_AltJitName=protojit.dll
+ )
+
"!__CrossgenExe!" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\mscorlib.ni.dll" "%__BinDir%\mscorlib.dll" > "!__CrossGenCoreLibLog!" 2>&1
- if NOT !errorlevel! == 0 (
+ set err=!errorlevel!
+
+ if "%__AltJitCrossgen%"=="1" (
+ set COMPlus_AltJitNgen=
+ set COMPlus_AltJitName=
+ )
+
+ if NOT !err! == 0 (
echo %__MsgPrefix%Error: CrossGen mscorlib facade build failed. Refer to the build log file for details:
echo !__CrossGenCoreLibLog!
exit /b 1
diff --git a/netci.groovy b/netci.groovy
index d20535b1b3..7661684051 100755
--- a/netci.groovy
+++ b/netci.groovy
@@ -1711,7 +1711,12 @@ combinedScenarios.each { scenario ->
case 'x86ryujit':
case 'x86lb':
def arch = architecture
- if (architecture == 'x86ryujit' || architecture == 'x86lb') {
+ def buildOpts = ''
+ if (architecture == 'x86ryujit') {
+ arch = 'x86'
+ buildOpts = 'altjitcrossgen'
+ }
+ else if (architecture == 'x86lb') {
arch = 'x86'
}
@@ -1719,7 +1724,7 @@ combinedScenarios.each { scenario ->
scenario == 'default' ||
scenario == 'r2r' ||
Constants.r2rJitStressScenarios.indexOf(scenario) != -1) {
- buildOpts = enableCorefxTesting ? 'skiptests' : ''
+ buildOpts += enableCorefxTesting ? ' skiptests' : ''
buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts}"
}
@@ -1730,15 +1735,15 @@ combinedScenarios.each { scenario ->
// 35 characters long.
else if (scenario == 'pri1' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r'|| scenario == 'coverage') {
- buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} -priority=1"
+ buildCommands += "set __TestIntermediateDir=int&&build.cmd ${lowerConfiguration} ${arch} ${buildOpts} -priority=1"
}
else if (scenario == 'ilrt') {
// First do the build with skiptests and then build the tests with ilasm roundtrip
- buildCommands += "build.cmd ${lowerConfiguration} ${arch} skiptests"
+ buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} skiptests"
buildCommands += "set __TestIntermediateDir=int&&build-test.cmd ${lowerConfiguration} ${arch} -ilasmroundtrip"
}
else if (isLongGc(scenario)) {
- buildCommands += "build.cmd ${lowerConfiguration} ${arch} skiptests"
+ buildCommands += "build.cmd ${lowerConfiguration} ${arch} ${buildOpts} skiptests"
buildCommands += "set __TestIntermediateDir=int&&build-test.cmd ${lowerConfiguration} ${arch}"
}
else if (scenario == 'formatting') {