[vmkit-commits] [vmkit] r87104 - in /vmkit/trunk/lib/Mvm/GCMmap2: MvmGC.h gc.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Fri Nov 13 03:13:57 PST 2009


Author: geoffray
Date: Fri Nov 13 05:13:57 2009
New Revision: 87104

URL: http://llvm.org/viewvc/llvm-project?rev=87104&view=rev
Log:
Bugfix for GCMmap2.


Modified:
    vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h
    vmkit/trunk/lib/Mvm/GCMmap2/gc.cpp

Modified: vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h?rev=87104&r1=87103&r2=87104&view=diff

==============================================================================
--- vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h (original)
+++ vmkit/trunk/lib/Mvm/GCMmap2/MvmGC.h Fri Nov 13 05:13:57 2009
@@ -177,6 +177,10 @@
 
     unlock();
 
+    if (vt->destructor)
+      mvm::Thread::get()->MyVM->addFinalizationCandidate((gc*)p);
+
+
     return p;
 #endif
   }

Modified: vmkit/trunk/lib/Mvm/GCMmap2/gc.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/GCMmap2/gc.cpp?rev=87104&r1=87103&r2=87104&view=diff

==============================================================================
--- vmkit/trunk/lib/Mvm/GCMmap2/gc.cpp (original)
+++ vmkit/trunk/lib/Mvm/GCMmap2/gc.cpp Fri Nov 13 05:13:57 2009
@@ -27,14 +27,11 @@
   void* res = 0;
   llvm_gcroot(res, 0);
   res = Collector::gcmalloc(VT, sz);
-  if (VT->destructor)
-    mvm::Thread::get()->MyVM->addFinalizationCandidate((gc*)res);
   return res;
 }
 
 extern "C" void addFinalizationCandidate(gc* obj) {
-  llvm_gcroot(obj, 0);
-  mvm::Thread::get()->MyVM->addFinalizationCandidate(obj);
+  // This is useless with GCmmap2, as the gcmalloc already did it.
 }
 
 void Collector::scanObject(void** val) {





More information about the vmkit-commits mailing list