view patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch @ 2726:0eb67382af67

Bring in 2014/04/15 security fixes. 2014-03-28 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.4.7 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Add HotSpot security fixes for AArch64 port. (ICEDTEA_ENV): Set FULL_DEBUG_SYMBOLS=0 in AArch64 build to avoid generating .diz files. * NEWS: Updated. * hotspot.map: default updated to icedtea-2.4.7 tag. * patches/boot/ecj-autoboxing.patch: Regenerated. * patches/boot/ecj-diamond.patch: Regenerated and new cases added. * patches/boot/ecj-trywithresources.patch: Regenerated. * patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch, * patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch: HotSpot security fixes for AArch64 port.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Wed, 16 Apr 2014 03:18:47 +0100
parents
children
line wrap: on
line source

# HG changeset patch
# User dsimms
# Date 1389348912 -3600
#      Fri Jan 10 11:15:12 2014 +0100
# Node ID b478fbd631095afe8c37e3582c467d3ef64c7ba5
# Parent  212a8089da498a233d4279e4b50235c271090f71
8029858: Enhance array copies
Summary: Just read the source element once
Reviewed-by: coleenp, ahgross

diff --git a/src/share/vm/oops/objArrayKlass.cpp b/src/share/vm/oops/objArrayKlass.cpp
--- openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp
+++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.cpp
@@ -269,7 +269,7 @@
         if (element_is_null ||
             (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);