request(S): 7066339: Tiered: policy should make consistent decisions about osr levels
igor.veresov at oracle.com
Thu Jul 14 13:04:32 PDT 2011
Thanks Vladimir and Tom!
On 7/14/11 12:42 PM, Tom Rodriguez wrote:
> Looks ok.
> On Jul 13, 2011, at 6:49 PM, Igor Veresov wrote:
>> After my fix for 7058689 it is possible that the AdvancedThresholdPolicy will make a different decision as to what compilation level for osr is appropriate in loop_event() and call_event() from what happens in method_back_branch_event(). In method_back_branch_event() in case the OSR compilation level is CompLevel_limited_profile we change it to CompLevel_full_profile but we don't do the same in call_event() and loop_event() to determine whether the existing OSR methods are current. The solution would be to move this level fixup in form of disabling the tier 3 delay feedback in common() for OSRs.
>> There was also bad interaction between the in-queue level change optimization with TieredStopAtLevel option set to 3, which caused compilation loops between level 2 and 3. Now it will be disabled if TieredStopAtLevel< 4.
>> Also moved handling of TieredStopAtLevel to common(), because when it was in compile() it could lead to unnecessary OSR compiles with TieredStopAtLevel< 4.
>> Webrev: http://cr.openjdk.java.net/~iveresov/7066339/webrev.00/
More information about the hotspot-compiler-dev