-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
JIT: assert if we see schema mismatches with dynamic pgo data #85898
Conversation
When the profile data comes from dynamic PGO, the spanning tree encoded in the schema produced by an earlier tier should exactly match the spanning tree for the current jit attempt, since the JIT and method IL are identical. (This is not the case for static PGO; that schema may have come from a different JIT and/or different version of IL). Note in release modes we won't assert; instead, we will silently throw the PGO data away. Follow-on change to dotnet#85805 to catch more issues like dotnet#85799.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsWhen the profile data comes from dynamic PGO, the spanning tree encoded in the schema produced by an earlier tier should exactly match the spanning tree for the current jit attempt, since the JIT and method IL are identical. (This is not the case for static PGO; that schema may have come from a different JIT and/or different version of IL). Note in release modes we won't assert; instead, we will silently throw the PGO data away. Follow-on change to #85805 to catch more issues like #85799.
|
/azp run runtime-coreclr pgo, runtime-coreclr pgostress, runtme-coreclr libraries-pgo |
Azure Pipelines successfully started running 2 pipeline(s). |
/azp run runtime-coreclr libraries-pgo |
Azure Pipelines successfully started running 1 pipeline(s). |
Makes sense, LGTM assuming CI failures aren't related |
When the profile data comes from dynamic PGO, the spanning tree encoded in the schema produced by an earlier tier should exactly match the spanning tree for the current jit attempt, since the JIT and method IL are identical.
(This is not the case for static PGO; that schema may have come from a different JIT and/or different version of IL).
Note in release modes we won't assert; instead, we will silently throw the PGO data away.
Follow-on change to #85805 to catch more issues like #85799.