review for 6385687: UseFastEmptyMethods/UseFastAccessorMethods considered harmful

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

Good.  -- John

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

> 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