Skip to content

Commit 50c1214

Browse files
authored
Mitigation for #84446: comment out problematic JIT assertion check (#84449)
The most recent aggregated runtime MIBC optimization data contains a combination of block and edge counts, possibly after a change from January 2023 that switched MIBC logic over from using block counts to edge counts. The offending assertion check wasn't expecting it and started crashing Crossgen2 during compilation of System.Private.CoreLib on Windows x64 / arm. Based on Andy Ayers' advice I'm proposing to comment out the assertion check; I have created the tracking issue #84446 to follow up on consolidation of JIT and MIBC production logic in this respect. Thanks Tomas
1 parent d34a2a2 commit 50c1214

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/coreclr/jit/fgprofile.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2611,7 +2611,10 @@ PhaseStatus Compiler::fgIncorporateProfileData()
26112611
// We expect not to have both block and edge counts. We may have other
26122612
// forms of profile data even if we do not have any counts.
26132613
//
2614-
assert(!haveBlockCounts || !haveEdgeCounts);
2614+
// As of 4/6/2023 the following invariant check turns out to no longer hold.
2615+
// Tracking issue: https://github.com/dotnet/runtime/issues/84446
2616+
//
2617+
// assert(!haveBlockCounts || !haveEdgeCounts);
26152618

26162619
bool dataIsGood = false;
26172620

0 commit comments

Comments
 (0)