RFR (S) 8073705: more performance issues in class redefinition (original) (raw)

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Apr 16 17:01:29 UTC 2015


http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/hotspot/8073705-JVMTI-redefscale2.1/

src/share/vm/classfile/javaClasses.hpp No comments.

src/share/vm/classfile/javaClasses.cpp No comments.

src/share/vm/oops/cpCache.hpp No comments.

src/share/vm/oops/cpCache.cpp No comments.

src/share/vm/prims/methodHandles.hpp No comments.

src/share/vm/prims/methodHandles.cpp Now we get to the meat of the change. :-)

 Instead of the double iteration loop in the old code, you
 are now taking advantage of the recent 'orig_method_idnum()'
 work. So you are not only reducing the iteration count, you
 are also reducing the number of adjustment calls that need
 to be made. Cool.

src/share/vm/prims/jvmtiRedefineClasses.cpp No comments.

Thumbs up.

Do you happen to have any info on perf improvements for this fix? No big deal if you don't.

Dan

On 4/10/15 2:29 PM, serguei.spitsyn at oracle.com wrote:

Hi Coleen and Dan,

This is the second class redefinition scalability/optimization fix that is in my queue to push into 9 and 8u60. The approach is similar to the first one but much smaller. For convenience, these are the links to the first scalability fix: Bug report: https://bugs.openjdk.java.net/browse/JDK-8073705 Open webrev: http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/hotspot/8046246-JVMTI-redefscale.2/ Please, let me know if you have any chance to review this. This is the last one that is waiting for your attention! :) Thanks, Serguei On 3/26/15 7:38 PM, serguei.spitsyn at oracle.com wrote: Please, review the fix for: https://bugs.openjdk.java.net/browse/JDK-8073705

Open hotspot webrev: http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/hotspot/8073705-JVMTI-redefscale2.1/

Summary: This is the 2-nd round of performance/calability fixes in class redefinition. This time, the two remaining issues that were left alone in the first round fix: - optimized ConstantPoolCache::adjustmethodentries() is used for previous versions - the MemberNameTable::adjustmethodentries() has been optimized too - some cleanup Testing: In progress: nsk redefine classes tests, JTREG java/lang/instrument, com/sun/jdi Thanks, Serguei



More information about the hotspot-dev mailing list