United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7058689 Tiered: Reprofiling doesn't happen in presence of level 4 OSR methods
JDK-7058689 : Tiered: Reprofiling doesn't happen in presence of level 4 OSR methods

Details
Type:
Bug
Submit Date:
2011-06-23
Status:
Closed
Updated Date:
2011-11-25
Project Name:
JDK
Resolved Date:
2011-09-30
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
7u2 (b04)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

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.

                                    

Comments
EVALUATION

See description.
                                     
2011-06-23
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6f6e91603a45
                                     
2011-07-01
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/6f6e91603a45
                                     
2011-07-07
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/6f6e91603a45
                                     
2011-07-08
EVALUATION

See main CR
                                     
2011-08-30



Hardware and Software, Engineered to Work Together