[vmkit-commits] [vmkit] r145280 - in /vmkit/trunk/lib/j3/VMCore: JNIReferences.h JavaThread.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Nov 28 13:26:49 PST 2011


Author: geoffray
Date: Mon Nov 28 15:26:48 2011
New Revision: 145280

URL: http://llvm.org/viewvc/llvm-project?rev=145280&view=rev
Log:
Put write barriers for JNI local and global references.


Modified:
    vmkit/trunk/lib/j3/VMCore/JNIReferences.h
    vmkit/trunk/lib/j3/VMCore/JavaThread.cpp

Modified: vmkit/trunk/lib/j3/VMCore/JNIReferences.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JNIReferences.h?rev=145280&r1=145279&r2=145280&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JNIReferences.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JNIReferences.h Mon Nov 28 15:26:48 2011
@@ -69,7 +69,8 @@
       return next->addJNIReference(obj);
     } else {
       ++count;
-      globalReferences[length] = obj;
+      vmkit::Collector::objectReferenceNonHeapWriteBarrier(
+          (gc**)&(globalReferences[length]), (gc*)obj);
       return &globalReferences[length++];
     }
   }

Modified: vmkit/trunk/lib/j3/VMCore/JavaThread.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaThread.cpp?rev=145280&r1=145279&r2=145280&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaThread.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaThread.cpp Mon Nov 28 15:26:48 2011
@@ -143,7 +143,8 @@
     next->prev = this;
     return next->addJNIReference(th, obj);
   } else {
-    localReferences[length] = obj;
+    vmkit::Collector::objectReferenceNonHeapWriteBarrier(
+        (gc**)&(localReferences[length]), (gc*)obj);
     return &localReferences[length++];
   }
 }





More information about the vmkit-commits mailing list