JIT: assert if we see schema mismatches with dynamic pgo data (#85898)
authorAndy Ayers <andya@microsoft.com>
Mon, 8 May 2023 15:01:58 +0000 (08:01 -0700)
committerGitHub <noreply@github.com>
Mon, 8 May 2023 15:01:58 +0000 (08:01 -0700)
commit873f3c550ef2e3d2c50e19d15e88b188ba7964d3
treef61e6d3e4e453e0e0d1d711bebd550f9a5655fe8
parentc25522adc86497949cf2dfd4adf8434d7ef7af76
JIT: assert if we see schema mismatches with dynamic pgo data (#85898)

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.
src/coreclr/jit/fgprofile.cpp