review for 6385687: UseFastEmptyMethods/UseFastAccessorMethods considered harmful

John Rose john.r.rose at oracle.com
Wed Mar 30 17:13:07 PDT 2011


Good.  -- John

On Mar 30, 2011, at 4:46 PM, Tom Rodriguez wrote:

> http://cr.openjdk.java.net/~never/6385687
> 
> 6385687: UseFastEmptyMethods/UseFastAccessorMethods considered harmful
> Reviewed-by:
> 
> While running various benchmarks, it was noticed that the use of
> UseFastEmptyMethods/UseFastAccessorMethods can cause us to skip
> compiling these methods because the fast versions don't have
> invocation counters.  This can create severe performance anomalies if
> the empty or accessor methods don't get inlined since we'll always
> transition to the interpreter to execute this trivial code.  This
> commonly occurs at call sites that are truly polymorphic.  We could
> conceivably add invocation counter updates to these methods but that
> simply makes them less fast and requires more changes.  So it's more
> straightforward to simply disable them by default.  We could turn them
> on for -Xint mode or we could delete the fast accessor machinery
> completely.  It really only helps with raw interpreter performance.
> Tested with jbb and grindermark.
> 



More information about the hotspot-compiler-dev mailing list