[vmkit-commits] [vmkit] r180543 - Turning back some modifications in lock system. we must fix that
Peter Senna Tschudin
peter.senna at gmail.com
Thu Apr 25 10:23:14 PDT 2013
Author: peter.senna
Date: Thu Apr 25 12:21:44 2013
New Revision: 180543
URL: http://llvm.org/viewvc/llvm-project?rev=180543&view=rev
Log:
Turning back some modifications in lock system. we must fix that
(cherry picked from commit 67f58965435fd585e070acf584018a30e19f5fc8)
Modified:
vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp
vmkit/trunk/lib/j3/VMCore/LockedMap.h
Modified: vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp?rev=180543&r1=180542&r2=180543&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.cpp Thu Apr 25 12:21:44 2013
@@ -665,19 +665,16 @@ UserClassArray* JnjvmClassLoader::constr
assert(baseClass->classLoader == this &&
"constructing an array with wrong loader");
UserClassArray* res = 0;
- lock2.lock();
classes->lock.lock();
res = (UserClassArray*) classes->map.lookup(name);
- classes->lock.unlock();
if (res == NULL) {
const UTF8* internalName = readerConstructUTF8(name->elements, name->size);
res = new(allocator, "Array class") UserClassArray(this, internalName,
baseClass);
- classes->lock.lock();
classes->map.insert(std::make_pair(internalName, res));
- classes->lock.unlock();
+
}
- lock2.unlock();
+ classes->lock.unlock();
return res;
}
Modified: vmkit/trunk/lib/j3/VMCore/LockedMap.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/LockedMap.h?rev=180543&r1=180542&r2=180543&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/LockedMap.h (original)
+++ vmkit/trunk/lib/j3/VMCore/LockedMap.h Thu Apr 25 12:21:44 2013
@@ -39,7 +39,7 @@ public:
ClassMap() {}
ClassMap(vmkit::VmkitDenseMap<const vmkit::UTF8*, UserCommonClass*>* precompiled) : map(*precompiled) {}
- vmkit::SpinLock lock;
+ vmkit::LockRecursive lock;
vmkit::VmkitDenseMap<const vmkit::UTF8*, UserCommonClass*> map;
typedef vmkit::VmkitDenseMap<const vmkit::UTF8*, UserCommonClass*>::iterator iterator;
};
More information about the vmkit-commits
mailing list