[llvm-commits] [vmkit] r52325 - /vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Mon Jun 16 07:11:18 PDT 2008


Author: geoffray
Date: Mon Jun 16 09:11:18 2008
New Revision: 52325

URL: http://llvm.org/viewvc/llvm-project?rev=52325&view=rev
Log:
Add asserts when updating a virtual table.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp

Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp?rev=52325&r1=52324&r2=52325&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp Mon Jun 16 09:11:18 2008
@@ -94,6 +94,10 @@
   if (isVirtual(meth->access)) {
     LLVMMethodInfo* LMI = ((JnjvmModule*)TheModule)->getMethodInfo(meth);
     uint64_t offset = LMI->getOffset()->getZExtValue();
+    assert(meth->classDef->isResolved() && "Class not resolved");
+    assert(meth->classDef->virtualVT && "Class has no VT");
+    assert(meth->classDef->virtualTableSize > offset && 
+        "The method's offset is greater than the virtual table size");
     ((void**)meth->classDef->virtualVT)[offset] = val;
   }
 





More information about the llvm-commits mailing list