Create a pipeline to test functionality in the jit that is not (yet) enabled by default:
* object stack allocation
* eh write through
* on stack replacement (+ osr stress)
* guarded devirtualization
Currently just x64, pri1 tests.
--- /dev/null
+trigger: none
+
+pr: none
+
+schedules:
+- cron: "0 22 * * 0,6"
+ displayName: Sun at 2:00 PM (UTC-8:00)
+ branches:
+ include:
+ - master
+ always: true
+
+jobs:
+#
+# Checkout repository
+#
+- template: /eng/pipelines/common/checkout-job.yml
+
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Windows_NT_x64
+ jobParameters:
+ testGroup: jit-experimental
+
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/coreclr/templates/test-job.yml
+ buildConfig: checked
+ platforms:
+ - Linux_x64
+ - Windows_NT_x64
+ helixQueueGroup: ci
+ helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ managedOsxBuild: false
+ jobParameters:
+ testGroup: jit-experimental
+ liveLibrariesBuildConfig: Release
# TODO: update these numbers as they were determined long ago
${{ if eq(parameters.testGroup, 'innerloop') }}:
timeoutInMinutes: 150
- ${{ if in(parameters.testGroup, 'outerloop') }}:
+ ${{ if in(parameters.testGroup, 'outerloop', 'jit-experimental') }}:
timeoutInMinutes: 270
${{ if in(parameters.testGroup, 'gc-longrunning', 'gc-simulator') }}:
timeoutInMinutes: 480
${{ if and(ne(parameters.corefxTests, true), eq(parameters.testGroup, 'innerloop')) }}:
timeoutPerTestCollectionInMinutes: 30
timeoutPerTestInMinutes: 10
- ${{ if in(parameters.testGroup, 'outerloop') }}:
+ ${{ if in(parameters.testGroup, 'outerloop', 'jit-experimental') }}:
timeoutPerTestCollectionInMinutes: 120
timeoutPerTestInMinutes: 10
${{ if in(parameters.testGroup, 'gc-longrunning', 'gc-simulator') }}:
scenarios:
- jitelthookenabled
- jitelthookenabled_tiered
+ ${{ if in(parameters.testGroup, 'jit-experimental') }}:
+ scenarios:
+ - jitosr
+ - jitosr_stress
+ - jitguardeddevirtualization
+ - jitehwritethru
+ - jitobjectstackallocation
# Publish Logs
- task: PublishPipelineArtifact@1
COMPlus_JitStressRegs;
COMPlus_TailcallStress;
COMPlus_ReadyToRun;
- COMPlus_ZapDisable
+ COMPlus_ZapDisable;
+ COMPlus_TC_OnStackReplacement;
+ COMPlus_TC_QuickJitForLoops;
+ COMPlus_TC_OnStackReplacement_InitialCounter;
+ COMPlus_OSR_HitLimit;
+ COMPlus_JitEnableGuardedDevirtualization;
+ COMPlus_EnableEHWriteThru;
+ COMPlus_JitObjectStackAllocation
</COMPlusVariables>
</PropertyGroup>
<ItemGroup>
<TestEnvironment Include="gcstress0xc_jitstress1" GCStress="0xC" JitStress="1" />
<TestEnvironment Include="gcstress0xc_jitstress2" GCStress="0xC" JitStress="2" />
<TestEnvironment Include="gcstress0xc_jitminopts_heapverify1" GCStress="0xC" JITMinOpts="1" HeapVerify="1" />
+ <TestEnvironment Include="jitosr" TC_OnStackReplacement="1" TC_QuickJitForLoops="1" TieredCompilation="1" />
+ <TestEnvironment Include="jitosr_stress" TC_OnStackReplacement="1" TC_QuickJitForLoops="1" TC_OnStackReplacement_InitialCounter="1" OSR_HitLimit="1" TieredCompilation="1" />
+ <TestEnvironment Include="jitguardeddevirtualization" JitEnableGuardedDevirtualization="1" TieredCompilation="0" />
+ <TestEnvironment Include="jitehwritethru" EnableEhWriteThru="1" TieredCompilation="0" />
+ <TestEnvironment Include="jitobjectstackallocation" JitObjectStackAllocation="1" TieredCompilation="0" />
</ItemGroup>
<!-- We use target batching on the COMPlusVariable items to iterate over the all COMPlus_* environment variables