review for 7071307: MethodHandle bimorphic inlining should consider the frequency

Igor Veresov igor.veresov at oracle.com
Thu Jul 28 18:22:59 PDT 2011


Seems fine!

igor

On 7/28/11 4:47 PM, 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