Skip to content
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: extend initial profile repair to more cases #84741

Merged
merged 1 commit into from
Apr 13, 2023

Commits on Apr 12, 2023

  1. JIT: extend initial profile repair to more cases

    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.
    AndyAyersMS committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    7ae3bea View commit details
    Browse the repository at this point in the history