diff options
author | David Brazdil <dbrazdil@google.com> | 2015-04-07 18:09:37 +0100 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2015-04-07 18:22:40 +0100 |
commit | 62e074f0d1a18f0f5aa6716f000825704f55e81b (patch) | |
tree | bad5f57aad20c4303c717240f2dc879d14c19453 /compiler | |
parent | 1b8e8cac2c96f6d2af8e7217f997a30e11c098b5 (diff) | |
download | art-62e074f0d1a18f0f5aa6716f000825704f55e81b.zip art-62e074f0d1a18f0f5aa6716f000825704f55e81b.tar.gz art-62e074f0d1a18f0f5aa6716f000825704f55e81b.tar.bz2 |
ART: Print C1vis header only if visualizer enabled
Setting kStringFilter currently suppresses graph dumps of non-matching
methods but their headers are still printed. This fixes the issue.
Change-Id: Ib33fb20fcca2bf409534a824e7f76f1feb85724d
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/optimizing/graph_visualizer.cc | 10 | ||||
-rw-r--r-- | compiler/optimizing/graph_visualizer.h | 4 | ||||
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 5 |
3 files changed, 10 insertions, 9 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc index 49c0d38..4c28378 100644 --- a/compiler/optimizing/graph_visualizer.cc +++ b/compiler/optimizing/graph_visualizer.cc @@ -337,13 +337,11 @@ class HGraphVisualizerPrinter : public HGraphVisitor { HGraphVisualizer::HGraphVisualizer(std::ostream* output, HGraph* graph, - const CodeGenerator& codegen, - const char* method_name) - : output_(output), graph_(graph), codegen_(codegen) { - if (output == nullptr) { - return; - } + const CodeGenerator& codegen) + : output_(output), graph_(graph), codegen_(codegen) {} +void HGraphVisualizer::PrintHeader(const char* method_name) const { + DCHECK(output_ != nullptr); HGraphVisualizerPrinter printer(graph_, *output_, "", true, codegen_); printer.StartTag("compilation"); printer.PrintProperty("name", method_name); diff --git a/compiler/optimizing/graph_visualizer.h b/compiler/optimizing/graph_visualizer.h index bc553ae..513bceb 100644 --- a/compiler/optimizing/graph_visualizer.h +++ b/compiler/optimizing/graph_visualizer.h @@ -35,9 +35,9 @@ class HGraphVisualizer : public ValueObject { public: HGraphVisualizer(std::ostream* output, HGraph* graph, - const CodeGenerator& codegen, - const char* method_name); + const CodeGenerator& codegen); + void PrintHeader(const char* method_name) const; void DumpGraph(const char* pass_name, bool is_after_pass = true) const; private: diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index e474c49..90a530a 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -96,10 +96,13 @@ class PassInfoPrinter : public ValueObject { timing_logger_enabled_(compiler_driver->GetDumpPasses()), timing_logger_(method_name, true, true), visualizer_enabled_(!compiler_driver->GetDumpCfgFileName().empty()), - visualizer_(visualizer_output, graph, codegen, method_name_) { + visualizer_(visualizer_output, graph, codegen) { if (strstr(method_name, kStringFilter) == nullptr) { timing_logger_enabled_ = visualizer_enabled_ = false; } + if (visualizer_enabled_) { + visualizer_.PrintHeader(method_name_); + } } ~PassInfoPrinter() { |