Code Review for 6385687

Prepared by:never on Wed Mar 30 13:27:47 PDT 2011
Compare against: ssh://
Summary of changes: 7 lines changed: 3 ins; 0 del; 4 mod; 4270 unchg
Patch of changes: 6385687.patch
Author comments:
6385687: UseFastEmptyMethods/UseFastAccessorMethods considered harmful

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.

Bug id: 6385687 UseFastEmptyMethods/UseFastAccessorMethods considered harmful
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/globals.hpp

2 lines changed: 0 ins; 0 del; 2 mod; 3818 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/prims/jvmtiManageCapabilities.cpp

5 lines changed: 3 ins; 0 del; 2 mod; 452 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).