Add pipeline setup for jit experimental feature testing (#33709)
authorAndy Ayers <andya@microsoft.com>
Thu, 19 Mar 2020 00:33:32 +0000 (17:33 -0700)
committerGitHub <noreply@github.com>
Thu, 19 Mar 2020 00:33:32 +0000 (17:33 -0700)
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.

eng/pipelines/coreclr/jit-experimental.yml [new file with mode: 0644]
eng/pipelines/coreclr/templates/run-test-job.yml
src/coreclr/tests/testenvironment.proj

diff --git a/eng/pipelines/coreclr/jit-experimental.yml b/eng/pipelines/coreclr/jit-experimental.yml
new file mode 100644 (file)
index 0000000..e49b0ce
--- /dev/null
@@ -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
index ffe1e50..8be5c5e 100644 (file)
@@ -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
@@ -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') }}:
@@ -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
index b3bfd7a..caed6ae 100644 (file)
       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