diff options
| author | 2012-08-23 12:23:44 -0700 | |
|---|---|---|
| committer | 2012-09-15 04:51:25 -0700 | |
| commit | 347166aeff128c86f921ec214a2789ca89b84e70 (patch) | |
| tree | 0f078a03eba903cf0ff304a96e82071bbb622223 /src/compiler/codegen/MethodBitcode.cc | |
| parent | 3fdb33a39732e7fea55dd40f9d006455ad0072dd (diff) | |
Fix run-test 030.
Change-Id: I87a819162d9705136c1dcad6424058ffbf033922
Diffstat (limited to 'src/compiler/codegen/MethodBitcode.cc')
| -rw-r--r-- | src/compiler/codegen/MethodBitcode.cc | 7 |
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); |