Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7058689

Tiered: Reprofiling doesn't happen in presence of level 4 OSR methods

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 7
    • Fix Version/s: 7u2
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b04
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Not verified

      Backports

        Description

        When we deopt from a C2-compiled method and request reprofiling (we're at level 0 at this point) natually we would want to start reprofiling in the interpreter and queue up a level 3 compile and continue profiling at level 3 when it arrives. However, when we decide to which level to switch we check the max comp level of OSR version of the method. If a this level is 4 and there's been more than one profiled invocation we would choose to compile at level 4. This is to avoid deopt loops when we deopt and switch to a higher level OSR method.

        So, need to handle the situation differently. The solution is to check whether a OSR would be possible at all at the moment (by calling the transition function with a loop predicate), and then checking what OSR methods are currently available.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  iveresov Igor Veresov
                  Reporter:
                  iveresov Igor Veresov
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: