Enable optimization of arraycopy as loads/stores with Shenandoah

Roman Kennke rkennke at redhat.com
Thu Dec 8 14:55:05 UTC 2016


Am Donnerstag, den 08.12.2016, 15:15 +0100 schrieb Roland Westrelin:
> http://cr.openjdk.java.net/~roland/shenandoah/arraycopy/webrev.00/
> 
> This re-enables an optimization that was disabled with shenandoah.

Cool! I like that!

Do we have any idea if it does improve performance? That would be
arraycopy on smallish arrays only right? Aleksey?

This removes the call to SharedRuntime::shenandoah_clone_barrier(). You
should also remove that method. I find references of it in :

src/share/vm/opto/runtime.cpp
src/share/vm/opto/runtime.hpp
src/share/vm/opto/escape.cpp
src/share/vm/runtime/sharedRuntime.hpp
src/share/vm/runtime/sharedRuntime.cpp

:-)

Also, we really need to trim down shenandoah-specific changes in c2. My
idea is to move everything that's more than 2 lines to
shenandoahSupport.cpp and have other code in C2 call that. I wanted to
do that for the GraphKit::shenandoah_XYZ_barrier() methods, but we seem
to be getting more of such stuff :-) That's for another patch though.

Roman


More information about the shenandoah-dev mailing list