[vmkit-commits] [vmkit] r85573 - /vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Thu Oct 29 19:25:37 PDT 2009


Author: geoffray
Date: Thu Oct 29 21:25:37 2009
New Revision: 85573

URL: http://llvm.org/viewvc/llvm-project?rev=85573&view=rev
Log:
Trace thread local objects in roots.


Modified:
    vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp

Modified: vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp?rev=85573&r1=85572&r2=85573&view=diff

==============================================================================
--- vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp Thu Oct 29 21:25:37 2009
@@ -22,7 +22,6 @@
   
   do {
     sc->scanStack(tcur);
-    tcur->tracer();
     tcur = (mvm::Thread*)tcur->next();
   } while (tcur != th);
 }
@@ -30,6 +29,14 @@
 extern "C" void Java_org_j3_mmtk_Scanning_computeGlobalRoots__Lorg_mmtk_plan_TraceLocal_2 (JavaObject* Scanning, JavaObject* TL) { 
   assert(mvm::Collector::TraceLocal == (uintptr_t)TL && "Mismatch in trace local");
   mvm::Thread::get()->MyVM->tracer();
+  
+	mvm::Thread* th = mvm::Thread::get();
+  mvm::Thread* tcur = th;
+  
+  do {
+    tcur->tracer();
+    tcur = (mvm::Thread*)tcur->next();
+  } while (tcur != th);
 
 }
 





More information about the vmkit-commits mailing list