[vmkit-commits] [vmkit] r144127 - /vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp

Will Dietz wdietz2 at illinois.edu
Tue Nov 8 13:44:23 PST 2011


Author: wdietz2
Date: Tue Nov  8 15:44:22 2011
New Revision: 144127

URL: http://llvm.org/viewvc/llvm-project?rev=144127&view=rev
Log:
Don't try to emit methods from primitive classes' VT, they're bogus.

Modified:
    vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp

Modified: vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp?rev=144127&r1=144126&r2=144127&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/JavaAOTCompiler.cpp Tue Nov  8 15:44:22 2011
@@ -1775,7 +1775,10 @@
   // methods
   for (uint32 i = JavaVirtualTable::getFirstJavaMethodIndex(); i < size; ++i) {
     JavaMethod* meth = ((JavaMethod**)RealVT)[i];
-    if (isAbstract(meth->access)) {
+    // Primitive classes don't have methods--abstract or otherwise.
+    // (But we do have placeholders for j.l.Object methods in their VTs,
+    // so just emit NULL's here)
+    if (classDef->isPrimitive() || isAbstract(meth->access)) {
       Elemts.push_back(Constant::getNullValue(PTy));
     } else {
       Function* F = getMethodOrStub(meth, maybeCustomize);





More information about the vmkit-commits mailing list