summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-07-01 13:00:15 +0100
committerNicolas Geoffray <ngeoffray@google.com>2015-07-01 13:00:15 +0100
commit842acd492f8916eb56dedd17bf812107b3ffc9db (patch)
tree6d8b998c95e868695bb6c9ec87c9acf84a194838 /compiler/optimizing/graph_visualizer.cc
parent3b0667c1d68ba88c71b031757b757dca659afd69 (diff)
Emit method name at invokes in the graph visualizer.
Change-Id: I832f823463569724fca9c38cd70d9dd552f15b3a
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r--compiler/optimizing/graph_visualizer.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index c41574c93c..da3b6ae25b 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -152,7 +152,7 @@ class HGraphVisualizerDisassembler {
/**
* HGraph visitor to generate a file suitable for the c1visualizer tool and IRHydra.
*/
-class HGraphVisualizerPrinter : public HGraphVisitor {
+class HGraphVisualizerPrinter : public HGraphDelegateVisitor {
public:
HGraphVisualizerPrinter(HGraph* graph,
std::ostream& output,
@@ -160,7 +160,7 @@ class HGraphVisualizerPrinter : public HGraphVisitor {
bool is_after_pass,
const CodeGenerator& codegen,
const DisassemblyInformation* disasm_info = nullptr)
- : HGraphVisitor(graph),
+ : HGraphDelegateVisitor(graph),
output_(output),
pass_name_(pass_name),
is_after_pass_(is_after_pass),
@@ -372,8 +372,14 @@ class HGraphVisualizerPrinter : public HGraphVisitor {
<< instance_of->MustDoNullCheck() << std::noboolalpha;
}
- void VisitInvokeStaticOrDirect(HInvokeStaticOrDirect* invoke) OVERRIDE {
+ void VisitInvoke(HInvoke* invoke) OVERRIDE {
StartAttributeStream("dex_file_index") << invoke->GetDexMethodIndex();
+ StartAttributeStream("method_name")
+ << PrettyMethod(invoke->GetDexMethodIndex(), GetGraph()->GetDexFile());
+ }
+
+ void VisitInvokeStaticOrDirect(HInvokeStaticOrDirect* invoke) OVERRIDE {
+ VisitInvoke(invoke);
StartAttributeStream("recursive") << std::boolalpha
<< invoke->IsRecursive()
<< std::noboolalpha;