request(S): 7066339: Tiered: policy should make consistent decisions about osr levels
Igor Veresov
igor.veresov at oracle.com
Wed Jul 13 18:49:02 PDT 2011
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/
Thanks,
igor
More information about the hotspot-compiler-dev
mailing list