[vmkit-commits] [vmkit] r65691 - /vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sat Feb 28 03:12:18 PST 2009
Author: geoffray
Date: Sat Feb 28 05:12:08 2009
New Revision: 65691
URL: http://llvm.org/viewvc/llvm-project?rev=65691&view=rev
Log:
Disable virtual->special call on final fields optimization for now.
Modified:
vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp?rev=65691&r1=65690&r2=65691&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJIT.cpp Sat Feb 28 05:12:08 2009
@@ -88,14 +88,16 @@
if (meth && isInterface(meth->classDef->access)) {
return invokeInterface(index, true);
}
-
+
const UTF8* name = 0;
Signdef* signature = ctpInfo->infoOfInterfaceOrVirtualMethod(index, name);
+#if 0
Value* obj = stack[signature->nbArguments].first;
JavaObject* source = module->getFinalObject(obj);
if (source) {
return invokeSpecial(index, source->getClass());
}
+#endif
#if !defined(WITHOUT_VTABLE)
Typedef* retTypedef = signature->getReturnType();
@@ -1684,7 +1686,7 @@
}
}
}
-
+
if (!final) push(new LoadInst(ptr, "", currentBlock), sign->isUnsigned());
if (type == Type::Int64Ty || type == Type::DoubleTy) {
push(module->constantZero, false);
@@ -1756,7 +1758,7 @@
push(CallInst::Create(F, ptr, "", currentBlock), sign->isUnsigned());
}
}
-
+
if (!final) push(new LoadInst(ptr, "", currentBlock), sign->isUnsigned());
if (type == Type::Int64Ty || type == Type::DoubleTy) {
push(module->constantZero, false);
More information about the vmkit-commits
mailing list