[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