[vmkit-commits] [vmkit] r121492 - in /vmkit/trunk: lib/J3/Compiler/JavaJIT.cpp lib/J3/Compiler/JavaJITOpcodes.cpp lib/Mvm/GCMmap2/MvmGC.h lib/Mvm/MMTk/MvmGC.cpp lib/Mvm/MMTk/MvmGC.h mmtk/java/src/org/j3/bindings/Bindings.java mmtk/mmtk-alloc/Selected.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Fri Dec 10 09:11:57 PST 2010
Author: geoffray
Date: Fri Dec 10 11:11:57 2010
New Revision: 121492
URL: http://llvm.org/viewvc/llvm-project?rev=121492&view=rev
Log:
Rename to needsWriteBarrier and needsNonHeapWriteBarrier.
Modified:
vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp
vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp
vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h
vmkit/trunk/lib/Mvm/MMTk/MvmGC.cpp
vmkit/trunk/lib/Mvm/MMTk/MvmGC.h
vmkit/trunk/mmtk/java/src/org/j3/bindings/Bindings.java
vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp
Modified: vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJIT.cpp Fri Dec 10 11:11:57 2010
@@ -2067,7 +2067,7 @@
convertValue(val, type, currentBlock, false);
}
- if (mvm::Collector::supportsWriteBarrier() && type == intrinsics->JavaObjectType) {
+ if (mvm::Collector::needsNonHeapWriteBarrier() && type == intrinsics->JavaObjectType) {
ptr = new BitCastInst(ptr, intrinsics->ptrPtrType, "", currentBlock);
val = new BitCastInst(val, intrinsics->ptrType, "", currentBlock);
Value* args[2] = { ptr, val };
@@ -2174,7 +2174,7 @@
convertValue(val, type, currentBlock, false);
}
- if (mvm::Collector::supportsWriteBarrier() && type == intrinsics->JavaObjectType) {
+ if (mvm::Collector::needsWriteBarrier() && type == intrinsics->JavaObjectType) {
ptr = new BitCastInst(ptr, intrinsics->ptrPtrType, "", currentBlock);
val = new BitCastInst(val, intrinsics->ptrType, "", currentBlock);
object = new LoadInst(object, "", currentBlock);
Modified: vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaJITOpcodes.cpp Fri Dec 10 11:11:57 2010
@@ -721,7 +721,7 @@
Value* obj = pop();
Value* ptr = verifyAndComputePtr(obj, index,
intrinsics->JavaArrayObjectType);
- if (mvm::Collector::supportsWriteBarrier()) {
+ if (mvm::Collector::needsWriteBarrier()) {
ptr = new BitCastInst(ptr, intrinsics->ptrPtrType, "", currentBlock);
val = new BitCastInst(val, intrinsics->ptrType, "", currentBlock);
obj = new BitCastInst(obj, intrinsics->ptrType, "", currentBlock);
Modified: vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h (original)
+++ vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h Fri Dec 10 11:11:57 2010
@@ -376,7 +376,11 @@
return (res == old);
}
- static bool supportsWriteBarrier() {
+ static bool needsWriteBarrier() {
+ return false;
+ }
+
+ static bool needsNonHeapWriteBarrier() {
return false;
}
};
Modified: vmkit/trunk/lib/Mvm/MMTk/MvmGC.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/MMTk/MvmGC.cpp?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/MMTk/MvmGC.cpp (original)
+++ vmkit/trunk/lib/Mvm/MMTk/MvmGC.cpp Fri Dec 10 11:11:57 2010
@@ -146,6 +146,10 @@
void Collector::initialise() {
}
-bool Collector::supportsWriteBarrier() {
+bool Collector::needsWriteBarrier() {
+ return false;
+}
+
+bool Collector::needsNonHeapWriteBarrier() {
return false;
}
Modified: vmkit/trunk/lib/Mvm/MMTk/MvmGC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/MMTk/MvmGC.h?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/MMTk/MvmGC.h (original)
+++ vmkit/trunk/lib/Mvm/MMTk/MvmGC.h Fri Dec 10 11:11:57 2010
@@ -80,7 +80,8 @@
static void objectReferenceArrayWriteBarrier(gc* ref, gc** slot, gc* value) __attribute__ ((always_inline));
static void objectReferenceNonHeapWriteBarrier(gc** slot, gc* value) __attribute__ ((always_inline));
static bool objectReferenceTryCASBarrier(gc* ref, gc** slot, gc* old, gc* value) __attribute__ ((always_inline));
- static bool supportsWriteBarrier();
+ static bool needsWriteBarrier() __attribute__ ((always_inline));
+ static bool needsNonHeapWriteBarrier() __attribute__ ((always_inline));
static void collect();
Modified: vmkit/trunk/mmtk/java/src/org/j3/bindings/Bindings.java
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/java/src/org/j3/bindings/Bindings.java?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/mmtk/java/src/org/j3/bindings/Bindings.java (original)
+++ vmkit/trunk/mmtk/java/src/org/j3/bindings/Bindings.java Fri Dec 10 11:11:57 2010
@@ -154,4 +154,14 @@
return slot.attempt(old.toAddress().toWord(), value.toAddress().toWord());
}
}
+
+ @Inline
+ private static boolean needsWriteBarrier() {
+ return Selected.Constraints.get().needsObjectReferenceWriteBarrier();
+ }
+
+ @Inline
+ private static boolean needsNonHeapWriteBarrier() {
+ return Selected.Constraints.get().needsObjectReferenceNonHeapWriteBarrier();
+ }
}
Modified: vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp?rev=121492&r1=121491&r2=121492&view=diff
==============================================================================
--- vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-alloc/Selected.cpp Fri Dec 10 11:11:57 2010
@@ -198,8 +198,15 @@
return res;
}
-bool Collector::supportsWriteBarrier() {
- return true;
+extern "C" uint8_t JnJVM_org_j3_bindings_Bindings_needsWriteBarrier__() ALWAYS_INLINE;
+extern "C" uint8_t JnJVM_org_j3_bindings_Bindings_needsNonHeapWriteBarrier__() ALWAYS_INLINE;
+
+bool Collector::needsWriteBarrier() {
+ return JnJVM_org_j3_bindings_Bindings_needsWriteBarrier__();
+}
+
+bool Collector::needsNonHeapWriteBarrier() {
+ return JnJVM_org_j3_bindings_Bindings_needsNonHeapWriteBarrier__();
}
//TODO: Remove these.
More information about the vmkit-commits
mailing list