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

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sun Nov 1 14:21:00 PST 2009


Author: geoffray
Date: Sun Nov  1 16:21:00 2009
New Revision: 85759

URL: http://llvm.org/viewvc/llvm-project?rev=85759&view=rev
Log:
The VT may not have been set while scanning.


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=85759&r1=85758&r2=85759&view=diff

==============================================================================
--- vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp (original)
+++ vmkit/trunk/mmtk/mmtk-j3/Scanning.cpp Sun Nov  1 16:21:00 2009
@@ -51,8 +51,10 @@
 extern "C" void Java_org_j3_mmtk_Scanning_specializedScanObject__ILorg_mmtk_plan_TransitiveClosure_2Lorg_vmmagic_unboxed_ObjectReference_2 (JavaObject* Scanning, uint32_t id, JavaObject* TC, JavaObject* obj) {
   assert(mvm::Collector::TraceLocal == (uintptr_t)TC && "Mismatch in trace local");
   assert(obj && "No object to trace");
-  assert(obj->getVirtualTable() && "No VT on object");
-  obj->tracer();
+  if (obj->getVirtualTable()) {
+    assert(obj->getVirtualTable()->tracer && "No tracer in VT");
+    obj->tracer();
+  }
 }
 
 extern "C" void Java_org_j3_mmtk_Scanning_scanObject__Lorg_mmtk_plan_TransitiveClosure_2Lorg_vmmagic_unboxed_ObjectReference_2 () { JavaThread::get()->printBacktrace(); abort(); }





More information about the vmkit-commits mailing list