-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Fix issues with rejit profiler test #117826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…de the method name in the replacement string so it is easier to tell what is going on Capture and validate actual output in the profiler rejit test
a6f60f7
to
99ac4b3
Compare
/azp run runtime-coreclr crossgen2 outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
…x lanes to see if it's fixed
/azp run runtime-coreclr crossgen2 outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
OK, reverts being broken aside I think what's going on is that on the composite R2R side, rejitting the method sometimes doesn't rejit any of its callers, which means no inlining happens and the profiler test breaks (it expects to see inlining). I think the R2R composite behavior is correct based on the output, and revert actually works correctly:
|
…ying expected behavior
@noahfalk if you get a chance, can you tell me whether the rejit.cpp change is correct? It looked like currently we might erroneously skip doing a revert. |
/azp run runtime-coreclr crossgen2 outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @kg!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes several issues with the rejit profiler test to make it more reliable and properly validate rejit functionality. The changes address test flakiness in R2R composite configurations and improve validation by capturing stdout output.
- Enhances test validation by capturing and checking stdout messages to verify rejit and revert operations
- Improves profiler reliability by filtering out non-test module inlinings and including method names in replacement strings
- Fixes a parameter mismatch in the CoreCLR rejit implementation and temporarily re-enables the test
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
src/tests/profiler/rejit/rejit.cs |
Adds output capturing mechanism and validation logic for rejit/revert operations |
src/tests/profiler/native/rejitprofiler/rejitprofiler.cpp |
Includes method names in profiler messages and filters inlinings to test module only |
src/tests/issues.targets |
Temporarily re-enables the rejit test for validation |
src/coreclr/vm/rejit.h |
Removes unused fIsRevert parameter from method signature |
src/coreclr/vm/rejit.cpp |
Fixes parameter passing by removing unused fIsRevert parameter |
Uh oh!
There was an error while loading. Please reload this page.