diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2017-12-18 09:46:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-18 09:46:55 -0800 |
commit | 3386dc846a65e630d2411ff19a0641fc66d44b95 (patch) | |
tree | 31ee4544dcd0660a4f08ebe7fb7645165fe9735d | |
parent | 78e6debe9430841e3690f943ddb91e46491cf4eb (diff) | |
parent | d3057a989b5e6fa238c03dc001fc675ff990726d (diff) | |
download | coreclr-3386dc846a65e630d2411ff19a0641fc66d44b95.tar.gz coreclr-3386dc846a65e630d2411ff19a0641fc66d44b95.tar.bz2 coreclr-3386dc846a65e630d2411ff19a0641fc66d44b95.zip |
Merge pull request #15549 from BruceForstall/AddCrossgenFx
For arm/armlb/arm64 R2R testing, add crossgen compilation of FX assems
-rwxr-xr-x | netci.groovy | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/netci.groovy b/netci.groovy index 4fb9559044..71ccef98f2 100755 --- a/netci.groovy +++ b/netci.groovy @@ -2550,8 +2550,8 @@ Constants.allScenarios.each { scenario -> } // If we are running a stress mode, we'll set those variables as well - def stressValues = null if (isJitStressScenario(scenario) || isR2RStressScenario(scenario)) { + def stressValues = null if (isJitStressScenario(scenario)) { stressValues = Constants.jitStressModeScenarios[scenario] } @@ -2565,9 +2565,34 @@ Constants.allScenarios.each { scenario -> } if (isR2RScenario(scenario)) { - addEnvVariable("RunCrossGen", "true") + // Crossgen the framework assemblies. + buildCommands += """ +for %%F in (%CORE_ROOT%\\*.dll) do call :PrecompileAssembly "%CORE_ROOT%" "%%F" %%~nxF +goto skip_PrecompileAssembly + +:PrecompileAssembly +REM Skip mscorlib since it is already precompiled. +if /I "%3" == "mscorlib.dll" exit /b 0 +if /I "%3" == "mscorlib.ni.dll" exit /b 0 + +"%CORE_ROOT%\\crossgen.exe" /Platform_Assemblies_Paths "%CORE_ROOT%" "%2" >nul 2>nul +if "%errorlevel%" == "-2146230517" ( + echo %2 is not a managed assembly. +) else if "%errorlevel%" == "-2146234344" ( + echo %2 is not a managed assembly. +) else if %errorlevel% neq 0 ( + echo Unable to precompile %2 +) else ( + echo Precompiled %2 +) +exit /b 0 - // TODO: crossgen the framework assemblies +:skip_PrecompileAssembly +""" + + // Set RunCrossGen variable to cause test wrappers to invoke their logic to run + // crossgen on tests before running them. + addEnvVariable("RunCrossGen", "true") } // Create the smarty command |