# HG changeset patch # User Christos Kotselidis # Date 1364477291 -3600 # Node ID 04b002b7077fd4a4925dcbbaf6fd9ed39a645d48 # Parent 59dab34ba44a27644a08fb00cd9f350af446792f# Parent da674936800c9ed467a2f2b298d0a63f184c6fa2 -Merge diff -r da674936800c -r 04b002b7077f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java Wed Mar 27 18:12:03 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java Thu Mar 28 14:28:11 2013 +0100 @@ -93,5 +93,5 @@ } @NodeIntrinsic - public static native void arrayCopyWriteBarrier(Object array, Object value, int index); + public static native void arrayCopyWriteBarrier(Object array, Object value, long index); } diff -r da674936800c -r 04b002b7077f graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java Wed Mar 27 18:12:03 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java Thu Mar 28 14:28:11 2013 +0100 @@ -246,7 +246,7 @@ int header = arrayBaseOffset(Kind.Object); if (src == dest && srcPos < destPos) { // bad aliased case long start = (long) (length - 1) * scale; - int j = length - 1; + long j = (long) (length - 1); for (long i = start; i >= 0; i -= scale) { Object a = UnsafeLoadNode.load(src, header, i + (long) srcPos * scale, Kind.Object); DirectObjectStoreNode.storeObject(dest, header, i + (long) destPos * scale, a); @@ -255,7 +255,7 @@ } } else { long end = (long) length * scale; - int j = 0; + long j = srcPos; for (long i = 0; i < end; i += scale) { Object a = UnsafeLoadNode.load(src, header, i + (long) srcPos * scale, Kind.Object); DirectObjectStoreNode.storeObject(dest, header, i + (long) destPos * scale, a);