-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Disable SuperPMI for arm64 apple under jitstress. #53661
Conversation
/azp run runtime-coreclr jitstress |
Azure Pipelines successfully started running 1 pipeline(s). |
PTAL @dotnet/jit-contrib |
could somebody please take a look? it is a simple test disabling, need it to start a stress run in another PR. |
Issue: #53321 |
@sandreenko Do you agree that this is some kind of bug that still needs to be fixed, and the test disabling is temporary, only until we get that fix? |
Yes and no. "No": I don't see a value to make jit code change for this issue because it will require to distinguish these |
I don't understand the specific non-pure-JIT-EE-API issue, but in general, we should work to eliminate the bugs (and I do consider them bugs) that require us to even have a "clean" phase of collection. |
The test is failing because we get different answers from VM and SuperPMI dictionary and during replay we CSE different variables and call fgMorph for different trees.
The failure call is happening here:
runtime/src/coreclr/jit/gentree.cpp
Line 16241 in 253a253
we could have recorded the answer during collection here:
runtime/src/coreclr/jit/importer.cpp
Lines 3676 to 3679 in 253a253
but it was not an intrinsic, it was:
runtime/src/coreclr/jit/importer.cpp
Line 4075 in 253a253
so if we could protect call in gentree with a similar check we would be fine here, like
& GTF_CALL_M_SPECIAL_INTRINSIC == 0
but it does see a benefit of doing it outside of SPMI.It fails only on arm64 apple because on other platforms we have the failing method in crossgen2 image so JitStress does not affect it.
Also, reenable #12709 that was closed as outdated to see if it was actually fixed.