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