[clr-interp] Enhance InterpMode and CI testing#120955
Merged
davidwrighton merged 7 commits intodotnet:mainfrom Oct 22, 2025
Merged
[clr-interp] Enhance InterpMode and CI testing#120955davidwrighton merged 7 commits intodotnet:mainfrom
davidwrighton merged 7 commits intodotnet:mainfrom
Conversation
Member
davidwrighton
commented
Oct 21, 2025
- Enhance InterpMode flag to autoimply various other flags like ReadyToRun=0 EnableHWIntrinsic=0 consistently, so that InterpMode can be used on its own to control interpretation behavior
- The comments around InterpMode are now accurate as to what they imply
- Enhance CI to allow testing of various interpreter scenarios (The existing model + InterModes 1, 2, and 3)
- Enhance InterpMode flag to autoimply various other flags like ReadyToRun=0 EnableHWIntrinsic=0 consistently, so that InterpMode can be used on its own to control interpretation behavior - The comments around InterpMode are now accurate as to what they imply - Enhance CI to allow testing of various interpreter scenarios (The existing model + InterModes 1, 2, and 3)
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR enhances the InterpMode configuration flag to automatically imply related settings (ReadyToRun=0, EnableHWIntrinsic=0) and expands CI testing to cover multiple interpreter scenarios (InterpMode 1, 2, and 3) in addition to the existing test model.
Key Changes:
- InterpMode now auto-configures dependent flags (ReadyToRun, EnableHWIntrinsic, vector widths) based on mode value
- CI infrastructure updated to test InterpMode scenarios 1-3 with various tiered compilation settings
- Test execution scripts enhanced to detect and skip interpreter-incompatible tests when DOTNET_InterpMode is set
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/tests/Common/testenvironment.proj | Adds InterpMode to environment variables and defines six new test scenarios for interpreter modes 1-3 with/without tiered compilation |
| src/tests/Common/CLRTest.Execute.Batch.targets | Adds Windows batch script logic to skip interpreter-incompatible tests when DOTNET_InterpMode is set and conditionally sets DOTNET_Interpreter |
| src/tests/Common/CLRTest.Execute.Bash.targets | Adds Bash script logic to skip interpreter-incompatible tests when DOTNET_InterpMode is set and conditionally sets DOTNET_Interpreter |
| src/coreclr/vm/jitinterface.cpp | Simplifies interpreter loading logic by consolidating config checks into EnableInterpreter() |
| src/coreclr/vm/jithost.cpp | Adds special handling for EnableHWIntrinsic config queries to respect EEConfig settings |
| src/coreclr/vm/eeconfig.h | Declares enableInterpreter and enableHWIntrinsic fields and their accessor methods |
| src/coreclr/vm/eeconfig.cpp | Implements InterpMode auto-configuration logic: sets enableInterpreter, disables ReadyToRun for modes 2+, and disables HWIntrinsic for mode 3 |
| src/coreclr/vm/codeman.cpp | Updates CPU info setup to respect EnableHWIntrinsic config and constrains vector widths to 128 bits for InterpMode 3 |
| src/coreclr/interpreter/eeinterp.cpp | Updates comments describing InterpMode values to accurately reflect implied settings |
| eng/pipelines/common/templates/runtimes/run-test-job.yml | Configures CI to run interpreter test scenarios, with reduced coverage for PRs |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
jkotas
reviewed
Oct 21, 2025
Contributor
|
Tagging subscribers to this area: @BrzVlad, @janvorli, @kg |
Member
Author
|
/ba-g Libraries_NET481 build failure is fixed by #120991 and is not related to this change. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.