Skip to content

Commit

Permalink
Add pipeline setup for jit experimental feature testing (#33709)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
AndyAyersMS authored Mar 19, 2020
1 parent 3af8f77 commit a6f805d
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 3 deletions.
41 changes: 41 additions & 0 deletions eng/pipelines/coreclr/jit-experimental.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
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
11 changes: 9 additions & 2 deletions eng/pipelines/coreclr/templates/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ jobs:
# 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
Expand Down Expand Up @@ -232,7 +232,7 @@ jobs:
${{ 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') }}:
Expand Down Expand Up @@ -378,6 +378,13 @@ jobs:
scenarios:
- jitelthookenabled
- jitelthookenabled_tiered
${{ if in(parameters.testGroup, 'jit-experimental') }}:
scenarios:
- jitosr
- jitosr_stress
- jitguardeddevirtualization
- jitehwritethru
- jitobjectstackallocation

# Publish Logs
- task: PublishPipelineArtifact@1
Expand Down
14 changes: 13 additions & 1 deletion src/coreclr/tests/testenvironment.proj
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,14 @@
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>
Expand Down Expand Up @@ -126,6 +133,11 @@
<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
Expand Down

0 comments on commit a6f805d

Please sign in to comment.