changeset 5065:3b7eb739cbd0

8029858: Enhance array copies Summary: Just read the source element once Reviewed-by: coleenp, ahgross
author dsimms
date Fri, 10 Jan 2014 15:38:30 +0100
parents 7f4fbcd8815d
children 69b542696e5b
files src/share/vm/oops/objArrayKlass.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/oops/objArrayKlass.cpp	Thu Mar 27 23:21:09 2014 +0000
+++ 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);