Prepared by: | never on Wed Mar 30 13:27:47 PDT 2011 |
---|---|
Workspace: | /net/smite.us.oracle.com/export/ws/c1 |
Compare against: | ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
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 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. |
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).