RFR(M): 8232896: ZGC: Enable C2 clone intrinsic
Nils Eliasson
nils.eliasson at oracle.com
Thu Oct 31 16:37:50 UTC 2019
Hi,
This patch fixes and enables the clone intrinsic for C2 with ZGC.
The main thing added is an implementation of the
ZBarrierSetC2::clone_at_expansion method. This method handles clone
expansion for regular objects and primitive arrays that hasn't already
been reduced by optimizations. (Oop array clones doesn't go through this
path.)
The code switches on the type of the source to either make a leaf call
to a runtime clone for regular objects, or delegate to
BarrierSetC2::clone_at_expansion for primitive arrays.
Updated micro benchmark shows great gains, especially for small objects
that now will be reduced to inlined move-store sequences.
Bug: https://bugs.openjdk.java.net/browse/JDK-8232896
Webrev: http://cr.openjdk.java.net/~neliasso/8232896/webrev.02/
Please review,
Nils Eliasson
More information about the hotspot-compiler-dev
mailing list