review for 7071307: MethodHandle bimorphic inlining should consider the frequency
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Jul 28 18:03:33 PDT 2011
Tom,
I think you need to check which path has IfTrue project to apply probability
from IfNode.
Vladimir
Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/7071307
> 46 lines changed: 27 ins; 6 del; 13 mod; 3568 unchg
>
> 7071307: MethodHandle bimorphic inlining should consider the frequency
> Reviewed-by:
>
> The fix for 7050554 added a bimorphic inline path but didn't take into
> account the frequency of the guarding test. This ends up treating
> both sides of the if as equally frequent which can lead to over
> inlining and overflowing the method inlining limits. The fix is to
> grab the frequency from the If and apply that to the branches. This
> addresses a major source of overinlining that can result in bad
> performance with JSR 292. We may do a later extension to this to
> actually do per call chain profiling of selectAlternative but that's a
> more complicated fix.
>
> I also fixed a problem with the ideal graph printer where debug_orig
> printing would go into an infinite loop.
>
> Tested with jruby and vm.mlvm tests.
>
More information about the hotspot-compiler-dev
mailing list