>
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, [email protected] 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, [email protected] 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::adjust_method_entries() is used
for previous versions
- the MemberNameTable::adjust_method_entries() has been
optimized too
- some cleanup
Testing:
In progress: nsk redefine classes tests, JTREG
java/lang/instrument, com/sun/jdi
Thanks,
Serguei