[vmkit-commits] [vmkit] r118261 - /vmkit/branches/precise/mmtk/java/src/org/j3/mmtk/Barriers.java

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Nov 4 15:19:38 PDT 2010


Author: geoffray
Date: Thu Nov  4 17:19:38 2010
New Revision: 118261

URL: http://llvm.org/viewvc/llvm-project?rev=118261&view=rev
Log:
Fix an indexing bug in objectArrayStoreNoGCBarrier.


Modified:
    vmkit/branches/precise/mmtk/java/src/org/j3/mmtk/Barriers.java

Modified: vmkit/branches/precise/mmtk/java/src/org/j3/mmtk/Barriers.java
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/precise/mmtk/java/src/org/j3/mmtk/Barriers.java?rev=118261&r1=118260&r2=118261&view=diff
==============================================================================
--- vmkit/branches/precise/mmtk/java/src/org/j3/mmtk/Barriers.java (original)
+++ vmkit/branches/precise/mmtk/java/src/org/j3/mmtk/Barriers.java Thu Nov  4 17:19:38 2010
@@ -600,7 +600,8 @@
   @Override
   public final void objectArrayStoreNoGCBarrier(Object[] dst, int index, Object value) {
     Address base = ObjectReference.fromObject(dst).toAddress();
-    Address slot = base.plus(Offset.fromIntZeroExtend(index << LOG_BYTES_IN_ADDRESS));
+    // Add 3 for the header, the class, and the length.
+    Address slot = base.plus(Offset.fromIntZeroExtend((index + 3) << LOG_BYTES_IN_ADDRESS));
     VM.activePlan.global().storeObjectReference(slot, ObjectReference.fromObject(value));
   }
 }





More information about the vmkit-commits mailing list