[vmkit-commits] [vmkit] r61607 - /vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sat Jan 3 05:08:04 PST 2009
Author: geoffray
Date: Sat Jan 3 07:07:59 2009
New Revision: 61607
URL: http://llvm.org/viewvc/llvm-project?rev=61607&view=rev
Log:
Remove null check after calling gcmalloc.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp?rev=61607&r1=61606&r2=61607&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp Sat Jan 3 07:07:59 2009
@@ -123,9 +123,18 @@
II++;
if (ICmpInst* Cmp = dyn_cast<ICmpInst>(I)) {
- if (isVirtual(meth->access)) {
- if (Cmp->getOperand(1) == module->JavaObjectNullConstant &&
- Cmp->getOperand(0) == F.arg_begin()) {
+ if (Cmp->getOperand(1) == module->JavaObjectNullConstant) {
+ Value* Arg = Cmp->getOperand(0);
+ if (isVirtual(meth->access) && Arg == F.arg_begin()) {
+ Changed = true;
+ Cmp->replaceAllUsesWith(ConstantInt::getFalse());
+ Cmp->eraseFromParent();
+ break;
+ }
+
+ CallSite Ca = CallSite::get(Arg);
+ Instruction* CI = Ca.getInstruction();
+ if (CI && Ca.getCalledValue() == module->JavaObjectAllocateFunction) {
Changed = true;
Cmp->replaceAllUsesWith(ConstantInt::getFalse());
Cmp->eraseFromParent();
More information about the vmkit-commits
mailing list