-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
JIT: extend initial profile repair to more cases (#84741)
In particular, fill in profiles for cases where we have an incomplete dynamic profile because a method rapidly transitions to OSR, and that method has important code that is not observed to execute by Tier0 instrumentation (things that happen after the OSR triggering loop exits) so having zero profiles for the remainder causes significant perf degradation. Filling in the missing profile data entails: * Allowing repair mode to reset exit likelihoods on zero-weight blocks as well as on inconsistent blocks. Since PGO never saw these blocks run, it has no opinion on their exit likelihoods. * Adjust loop exit edge likelihoods if we end up capping the cyclic probability in the loop, so that some profile weight will exit the loop and light up any previously zero weight blocks that may follow.
- Loading branch information
1 parent
52feb69
commit 20de7f0
Showing
1 changed file
with
66 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters