hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp
changeset 42068 18c8a4d5998e
parent 41546 357406d17607
child 42650 1f304d0c888b
--- a/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp	Fri Oct 21 10:14:54 2016 +0200
+++ b/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp	Thu Oct 27 11:41:53 2016 +0200
@@ -1894,15 +1894,18 @@
     __ beq(combined_check, slow);
   }
 
+  // If the compiler was not able to prove that exact type of the source or the destination
+  // of the arraycopy is an array type, check at runtime if the source or the destination is
+  // an instance type.
   if (flags & LIR_OpArrayCopy::type_check) {
-    if (!(flags & LIR_OpArrayCopy::LIR_OpArrayCopy::dst_objarray)) {
+    if (!(flags & LIR_OpArrayCopy::dst_objarray)) {
       __ load_klass(tmp, dst);
       __ lwz(tmp2, in_bytes(Klass::layout_helper_offset()), tmp);
       __ cmpwi(CCR0, tmp2, Klass::_lh_neutral_value);
       __ bge(CCR0, slow);
     }
 
-    if (!(flags & LIR_OpArrayCopy::LIR_OpArrayCopy::src_objarray)) {
+    if (!(flags & LIR_OpArrayCopy::src_objarray)) {
       __ load_klass(tmp, src);
       __ lwz(tmp2, in_bytes(Klass::layout_helper_offset()), tmp);
       __ cmpwi(CCR0, tmp2, Klass::_lh_neutral_value);