diff options
| author | 2015-08-13 16:25:52 +0000 | |
|---|---|---|
| committer | 2015-08-13 16:25:52 +0000 | |
| commit | 837b64974977f615dd1f0662857b97536acdb4dd (patch) | |
| tree | 0564fcf0bd8b01644a6453a36983172f5e3d2489 /compiler/optimizing/code_generator.cc | |
| parent | e28dde5c7907f14042a0c9bcfa8dad436a1d82f4 (diff) | |
| parent | df3f8227badd0276177774a72f1bcb181688d954 (diff) | |
Merge "Adjust art::HTypeConversion's side effects for MIPS64."
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
| -rw-r--r-- | compiler/optimizing/code_generator.cc | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 77d6628ff6..d0b5ffd255 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -1010,27 +1010,34 @@ void CodeGenerator::ValidateInvokeRuntime(HInstruction* instruction, SlowPathCod // coherent with the runtime call generated, and that the GC side effect is // set when required. if (slow_path == nullptr) { - DCHECK(instruction->GetLocations()->WillCall()); - DCHECK(instruction->GetSideEffects().Includes(SideEffects::CanTriggerGC())); + DCHECK(instruction->GetLocations()->WillCall()) << instruction->DebugName(); + DCHECK(instruction->GetSideEffects().Includes(SideEffects::CanTriggerGC())) + << instruction->DebugName() << instruction->GetSideEffects().ToString(); } else { - DCHECK(instruction->GetLocations()->OnlyCallsOnSlowPath() || slow_path->IsFatal()); + DCHECK(instruction->GetLocations()->OnlyCallsOnSlowPath() || slow_path->IsFatal()) + << instruction->DebugName() << slow_path->GetDescription(); DCHECK(instruction->GetSideEffects().Includes(SideEffects::CanTriggerGC()) || // Control flow would not come back into the code if a fatal slow // path is taken, so we do not care if it triggers GC. slow_path->IsFatal() || // HDeoptimize is a special case: we know we are not coming back from // it into the code. - instruction->IsDeoptimize()); + instruction->IsDeoptimize()) + << instruction->DebugName() << instruction->GetSideEffects().ToString() + << slow_path->GetDescription(); } // Check the coherency of leaf information. DCHECK(instruction->IsSuspendCheck() || ((slow_path != nullptr) && slow_path->IsFatal()) || instruction->GetLocations()->CanCall() - || !IsLeafMethod()); + || !IsLeafMethod()) + << instruction->DebugName() << ((slow_path != nullptr) ? slow_path->GetDescription() : ""); } -void SlowPathCode::RecordPcInfo(CodeGenerator* codegen, HInstruction* instruction, uint32_t dex_pc) { +void SlowPathCode::RecordPcInfo(CodeGenerator* codegen, + HInstruction* instruction, + uint32_t dex_pc) { codegen->RecordPcInfo(instruction, dex_pc, this); } |