summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/MethodBitcode.cc
diff options
context:
space:
mode:
author TDYa127 <tdy@google.com> 2012-08-23 12:23:44 -0700
committer Shih-wei Liao <sliao@google.com> 2012-09-15 04:51:25 -0700
commit347166aeff128c86f921ec214a2789ca89b84e70 (patch)
tree0f078a03eba903cf0ff304a96e82071bbb622223 /src/compiler/codegen/MethodBitcode.cc
parent3fdb33a39732e7fea55dd40f9d006455ad0072dd (diff)
Fix run-test 030.
Change-Id: I87a819162d9705136c1dcad6424058ffbf033922
Diffstat (limited to 'src/compiler/codegen/MethodBitcode.cc')
-rw-r--r--src/compiler/codegen/MethodBitcode.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/codegen/MethodBitcode.cc b/src/compiler/codegen/MethodBitcode.cc
index 5aebc06f64..9427dcc91d 100644
--- a/src/compiler/codegen/MethodBitcode.cc
+++ b/src/compiler/codegen/MethodBitcode.cc
@@ -539,7 +539,9 @@ void setShadowFrameEntry(CompilationUnit* cUnit, llvm::Value* newVal)
break;
}
}
- DCHECK_NE(index, -1) << "Corrupt shadowMap";
+ if (index == -1) {
+ return;
+ }
greenland::IntrinsicHelper::IntrinsicId id =
greenland::IntrinsicHelper::SetShadowFrameEntry;
llvm::Function* func = cUnit->intrinsic_helper->GetIntrinsicFunction(id);
@@ -922,6 +924,9 @@ bool convertMIRNode(CompilationUnit* cUnit, MIR* mir, BasicBlock* bb,
case Instruction::CONST:
case Instruction::CONST_4:
case Instruction::CONST_16: {
+ if (vB == 0) {
+ objectDefinition = true;
+ }
llvm::Constant* immValue = cUnit->irb->GetJInt(vB);
llvm::Value* res = emitConst(cUnit, immValue, rlDest);
defineValue(cUnit, res, rlDest.origSReg);