[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