Skip to content

Add r2 r composite#5172

Open
DrewScoggins wants to merge 6 commits intodotnet:mainfrom
DrewScoggins:AddR2RComposite
Open

Add r2 r composite#5172
DrewScoggins wants to merge 6 commits intodotnet:mainfrom
DrewScoggins:AddR2RComposite

Conversation

@DrewScoggins
Copy link
Member

No description provided.

LoopedBard3
LoopedBard3 previously approved these changes Mar 20, 2026
Copy link
Member

@LoopedBard3 LoopedBard3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, some merge conflicts that need to be fixed.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new runtime flavor to the performance infrastructure to run CoreCLR microbenchmarks using a Composite R2R setup with interpreter fallback, including payload staging and pipeline wiring.

Changes:

  • Add coreclr_r2r_interpreter runtime type handling to build a Helix payload and pass the required BenchmarkDotNet arguments.
  • Introduce a new payload builder helper to stage a runtime pack + crossgen2 tool layout for R2R compilation.
  • Wire a new Azure Pipelines job matrix toggle/job and bump BenchmarkDotNet nightly.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/run_performance_job.py Adds BDN arg selection and payload staging for coreclr_r2r_interpreter.
scripts/build_runtime_payload.py Adds build_r2r_interpreter_payload() to extract runtime pack + crossgen2 into the expected layout.
eng/Versions.props Updates BenchmarkDotNet nightly version.
eng/pipelines/templates/runtime-perf-job.yml Adds build dependency and artifact download logic for the new runtime type.
eng/pipelines/runtime-perf-jobs.yml Adds a new Viper microbenchmarks job toggle/matrix for coreclr_r2r_interpreter.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +918 to +920
use_r2r_interpreter = False
if args.runtime_type == "coreclr_r2r_interpreter":
use_r2r_interpreter = True
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use_r2r_interpreter is assigned but never referenced later in run_performance_job, which makes the new code path harder to reason about and suggests a missing integration step. Either remove the variable entirely, or use it to drive whatever behavior difference is intended for the coreclr_r2r_interpreter runtime type (e.g., selecting a different dotnet install/payload logic).

Suggested change
use_r2r_interpreter = False
if args.runtime_type == "coreclr_r2r_interpreter":
use_r2r_interpreter = True
if args.runtime_type == "coreclr_r2r_interpreter":

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants