diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-09-17 18:21:53 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-09-18 09:10:09 +0100 |
commit | b09aacb495dce2cb3e8469f056fdc2636ae393e6 (patch) | |
tree | 9e044d74ec6c7667d2c6684b8c44a7a5db045096 /compiler/optimizing/graph_visualizer.cc | |
parent | 7d029af44c45c56b3b7a271c54434c2dcec1e219 (diff) | |
download | art-b09aacb495dce2cb3e8469f056fdc2636ae393e6.zip art-b09aacb495dce2cb3e8469f056fdc2636ae393e6.tar.gz art-b09aacb495dce2cb3e8469f056fdc2636ae393e6.tar.bz2 |
Small fixes to get the boot image compiled in debug mode.
Change-Id: Id697737a1bcfb87f407d707e2ddd4f50a77caf26
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r-- | compiler/optimizing/graph_visualizer.cc | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc index f011e85..7f64be4 100644 --- a/compiler/optimizing/graph_visualizer.cc +++ b/compiler/optimizing/graph_visualizer.cc @@ -81,6 +81,23 @@ class HGraphVisualizerPrinter : public HGraphVisitor { } } + char GetTypeId(Primitive::Type type) { + switch (type) { + case Primitive::kPrimBoolean: return 'z'; + case Primitive::kPrimByte: return 'b'; + case Primitive::kPrimChar: return 'c'; + case Primitive::kPrimShort: return 's'; + case Primitive::kPrimInt: return 'i'; + case Primitive::kPrimLong: return 'j'; + case Primitive::kPrimFloat: return 'f'; + case Primitive::kPrimDouble: return 'd'; + case Primitive::kPrimNot: return 'l'; + case Primitive::kPrimVoid: return 'v'; + } + LOG(FATAL) << "Unreachable"; + return 'v'; + } + void PrintPredecessors(HBasicBlock* block) { AddIndent(); output_ << "predecessors"; @@ -140,7 +157,7 @@ class HGraphVisualizerPrinter : public HGraphVisitor { if (instruction->InputCount() > 0) { output_ << " [ "; for (HInputIterator inputs(instruction); !inputs.Done(); inputs.Advance()) { - output_ << "v" << inputs.Current()->GetId() << " "; + output_ << GetTypeId(inputs.Current()->GetType()) << inputs.Current()->GetId() << " "; } output_ << "]"; } @@ -175,7 +192,8 @@ class HGraphVisualizerPrinter : public HGraphVisitor { HInstruction* instruction = it.Current(); AddIndent(); int bci = 0; - output_ << bci << " " << instruction->NumberOfUses() << " v" << instruction->GetId() << " "; + output_ << bci << " " << instruction->NumberOfUses() + << " " << GetTypeId(instruction->GetType()) << instruction->GetId() << " "; instruction->Accept(this); output_ << kEndInstructionMarker << std::endl; } @@ -214,7 +232,8 @@ class HGraphVisualizerPrinter : public HGraphVisitor { for (HInstructionIterator it(block->GetPhis()); !it.Done(); it.Advance()) { AddIndent(); HInstruction* instruction = it.Current(); - output_ << instruction->GetId() << " v" << instruction->GetId() << "[ "; + output_ << instruction->GetId() << " " << GetTypeId(instruction->GetType()) + << instruction->GetId() << "[ "; for (HInputIterator inputs(instruction); !inputs.Done(); inputs.Advance()) { output_ << inputs.Current()->GetId() << " "; } |