From a6f805d844b18ff923d18e6c9fa8ba0538ba4422 Mon Sep 17 00:00:00 2001 From: Andy Ayers Date: Wed, 18 Mar 2020 17:33:32 -0700 Subject: [PATCH] Add pipeline setup for jit experimental feature testing (#33709) 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 | 41 ++++++++++++++++++++++++ eng/pipelines/coreclr/templates/run-test-job.yml | 11 +++++-- src/coreclr/tests/testenvironment.proj | 14 +++++++- 3 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 eng/pipelines/coreclr/jit-experimental.yml diff --git a/eng/pipelines/coreclr/jit-experimental.yml b/eng/pipelines/coreclr/jit-experimental.yml new file mode 100644 index 0000000..e49b0ce --- /dev/null +++ b/eng/pipelines/coreclr/jit-experimental.yml @@ -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 diff --git a/eng/pipelines/coreclr/templates/run-test-job.yml b/eng/pipelines/coreclr/templates/run-test-job.yml index ffe1e50..8be5c5e 100644 --- a/eng/pipelines/coreclr/templates/run-test-job.yml +++ b/eng/pipelines/coreclr/templates/run-test-job.yml @@ -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 diff --git a/src/coreclr/tests/testenvironment.proj b/src/coreclr/tests/testenvironment.proj index b3bfd7a..caed6ae 100644 --- a/src/coreclr/tests/testenvironment.proj +++ b/src/coreclr/tests/testenvironment.proj @@ -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 @@ -126,6 +133,11 @@ + + + + +