Chromium Code Reviews| Index: runtime/vm/il_printer.cc |
| diff --git a/runtime/vm/il_printer.cc b/runtime/vm/il_printer.cc |
| index e9eea97c1bb91a3f9b0dd57c04f97c0c674475c2..54b6a349156c7c0b2defb1092141ad34a75b8fab 100644 |
| --- a/runtime/vm/il_printer.cc |
| +++ b/runtime/vm/il_printer.cc |
| @@ -580,6 +580,18 @@ void MathUnaryInstr::PrintOperandsTo(BufferFormatter* f) const { |
| } |
| +void CaseInsensitiveCompareUC16Instr::PrintOperandsTo( |
| + BufferFormatter* f) const { |
| + str()->PrintTo(f); |
|
Vyacheslav Egorov (Google)
2014/10/01 20:13:21
Isn't this what Definition::PrintOperandsTo(f) doe
jgruber1
2014/10/03 18:59:52
Done.
|
| + f->Print(", "); |
| + lhs_index()->PrintTo(f); |
| + f->Print(", "); |
| + rhs_index()->PrintTo(f); |
| + f->Print(", "); |
| + length()->PrintTo(f); |
| +} |
| + |
| + |
| void MergedMathInstr::PrintOperandsTo(BufferFormatter* f) const { |
| f->Print("'%s', ", MergedMathInstr::KindToCString(kind())); |
| Definition::PrintOperandsTo(f); |
| @@ -934,6 +946,34 @@ void JoinEntryInstr::PrintTo(BufferFormatter* f) const { |
| } |
| +void IndirectEntryInstr::PrintTo(BufferFormatter* f) const { |
| + if (try_index() != CatchClauseNode::kInvalidTryIndex) { |
|
Vyacheslav Egorov (Google)
2014/10/01 20:13:21
Can IndirectEntry be inside of the try? Maybe just
jgruber1
2014/10/03 18:59:52
Done.
|
| + f->Print("B%" Pd "[join indirect try_idx %" Pd "]:%" Pd " pred(", |
| + block_id(), try_index(), GetDeoptId()); |
| + } else { |
| + f->Print("B%" Pd "[join indirect]:%" Pd " pred(", block_id(), GetDeoptId()); |
| + } |
| + for (intptr_t i = 0; i < predecessors_.length(); ++i) { |
| + if (i > 0) f->Print(", "); |
| + f->Print("B%" Pd, predecessors_[i]->block_id()); |
| + } |
| + f->Print(")"); |
| + if (phis_ != NULL) { |
| + f->Print(" {"); |
| + for (intptr_t i = 0; i < phis_->length(); ++i) { |
| + if ((*phis_)[i] == NULL) continue; |
| + f->Print("\n "); |
| + (*phis_)[i]->PrintTo(f); |
| + } |
| + f->Print("\n}"); |
| + } |
| + if (HasParallelMove()) { |
| + f->Print(" "); |
| + parallel_move()->PrintTo(f); |
| + } |
| +} |
| + |
| + |
| static const char *RepresentationToCString(Representation rep) { |
| switch (rep) { |
| case kTagged: |
| @@ -1076,6 +1116,17 @@ void GotoInstr::PrintTo(BufferFormatter* f) const { |
| } |
| +void IndirectGotoInstr::PrintTo(BufferFormatter* f) const { |
| + if (GetDeoptId() != Isolate::kNoDeoptId) { |
| + f->Print("igoto:%" Pd "(", GetDeoptId()); |
| + } else { |
| + f->Print("igoto:("); |
| + } |
| + offset_from_start_->PrintTo(f); |
| + f->Print(")"); |
| +} |
| + |
| + |
| void BranchInstr::PrintTo(BufferFormatter* f) const { |
| f->Print("%s ", DebugName()); |
| f->Print("if "); |