[vmkit-commits] [vmkit] r84631 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaLocks.cpp JavaLocks.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Tue Oct 20 04:30:41 PDT 2009
Author: geoffray
Date: Tue Oct 20 06:30:40 2009
New Revision: 84631
URL: http://llvm.org/viewvc/llvm-project?rev=84631&view=rev
Log:
Reserve two bits in status word for GC.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.cpp?rev=84631&r1=84630&r2=84631&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.cpp Tue Oct 20 06:30:40 2009
@@ -73,13 +73,14 @@
}
uintptr_t JavaLock::getID() {
- return index | mvm::FatMask;
+ return (index << LockSystem::BitGC) | mvm::FatMask;
}
JavaLock* JavaLock::getFromID(uintptr_t ID) {
Jnjvm* vm = JavaThread::get()->getJVM();
if (ID & mvm::FatMask) {
- JavaLock* res = vm->lockSystem.getLock(ID & ~mvm::FatMask);
+ uint32_t index = (ID & ~mvm::FatMask) >> LockSystem::BitGC;
+ JavaLock* res = vm->lockSystem.getLock(index);
return res;
} else {
return 0;
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.h?rev=84631&r1=84630&r2=84631&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaLocks.h Tue Oct 20 06:30:40 2009
@@ -125,6 +125,7 @@
static const uint32_t IndexSize = 1 << BitIndex;
static const uint32_t BitMask = IndexSize - 1;
static const uint32_t MaxLocks = GlobalSize * IndexSize;
+ static const uint32_t BitGC = 2;
/// LockTable - The global table that will hold the locks. The table is
/// a two-dimensional array, and only one entry is created, so that
More information about the vmkit-commits
mailing list