< prev index next >

src/hotspot/cpu/x86/stubGenerator_x86_32.cpp

Print this page
rev 54706 : 8223244: Fix usage of ARRAYCOPY_DISJOINT decorator

@@ -1370,11 +1370,13 @@
     // Loop-variant addresses.  They assume post-incremented count < 0.
     Address from_element_addr(end_from, count, Address::times_ptr, 0);
     Address   to_element_addr(end_to,   count, Address::times_ptr, 0);
     Address elem_klass_addr(elem, oopDesc::klass_offset_in_bytes());
 
-    DecoratorSet decorators = IN_HEAP | IS_ARRAY | ARRAYCOPY_CHECKCAST;
+    // Note: checkcast arraycopy is always disjoint. If it were not, then we wouldn't
+    // need to checkcast.
+    DecoratorSet decorators = IN_HEAP | IS_ARRAY | ARRAYCOPY_CHECKCAST | ARRAYCOPY_DISJOINT;
     if (dest_uninitialized) {
       decorators |= IS_DEST_UNINITIALIZED;
     }
 
     BasicType type = T_OBJECT;
< prev index next >