# HG changeset patch # User dsimms # Date 1389364710 -3600 # Node ID 3be3b8a032a5508646c1c5620cee18d3e69fc708 # Parent 46236fe5d1fe7264b3094a71b14d7bb77b279555 8029858: Enhance array copies Summary: Just read the source element once Reviewed-by: coleenp, ahgross diff -r 46236fe5d1fe -r 3be3b8a032a5 src/share/vm/oops/objArrayKlass.cpp --- a/src/share/vm/oops/objArrayKlass.cpp Thu Jan 09 07:55:58 2014 -0800 +++ b/src/share/vm/oops/objArrayKlass.cpp Fri Jan 10 15:38:30 2014 +0100 @@ -149,7 +149,7 @@ if (element_is_null || Klass::cast((new_val->klass()))->is_subtype_of(bound)) { bs->write_ref_field_pre(p, new_val); - *p = *from; + *p = element; } else { // We must do a barrier to cover the partial copy. const size_t pd = pointer_delta(p, dst, (size_t)heapOopSize);