changeset 5714:cc64f42d10d1

Safer arraycopy bulk write barrier
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 27 Jun 2012 17:44:48 +0200
parents 8c478272fb34
children ed6142909ec8
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/ArrayCopySnippets.java
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/ArrayCopySnippets.java	Wed Jun 27 17:44:08 2012 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/ArrayCopySnippets.java	Wed Jun 27 17:44:48 2012 +0200
@@ -318,8 +318,8 @@
             int cardShift = cardTableShift();
             long cardStart = cardTableStart();
             long dstAddr = GetObjectAddressNode.get(dest);
-            long start = (dstAddr + header + destPos * scale) >>> cardShift;
-            long end = (dstAddr + header + (destPos + length - 1) * scale) >>> cardShift;
+            long start = (dstAddr + header + (long) destPos * scale) >>> cardShift;
+            long end = (dstAddr + header + ((long) destPos + length - 1) * scale) >>> cardShift;
             long count = end - start + 1;
             while (count-- > 0) {
                 DirectStoreNode.store((start + cardStart) + count, false);