diff options
author | Vladimir Marko <vmarko@google.com> | 2017-03-01 19:02:04 +0000 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2017-06-01 20:37:10 +0100 |
commit | 82b0740f03b1a6acab4558214d3edc362e27e238 (patch) | |
tree | c19ec7ad047fbbef0c0f4dcd46905604b75841b5 /compiler/optimizing/graph_visualizer.cc | |
parent | 8144b1ebea42feaa798419eaf53a6bbbf37822a9 (diff) |
Use IntrusiveForwardList<> for Env-/UsePosition.
Test: m test-art-host-gtest
Test: testrunner.py --host
Change-Id: I2b720e2ed8f96303cf80e9daa6d5278bf0c3da2f
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r-- | compiler/optimizing/graph_visualizer.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc index 02816cf7ce..7dcf2440b2 100644 --- a/compiler/optimizing/graph_visualizer.cc +++ b/compiler/optimizing/graph_visualizer.cc @@ -34,6 +34,7 @@ #include "register_allocator_linear_scan.h" #include "ssa_liveness_analysis.h" #include "utils/assembler.h" +#include "utils/intrusive_forward_list.h" namespace art { @@ -66,6 +67,13 @@ class StringList { current->Dump(NewEntryStream()); } } + // Construct StringList from a list of elements. The value type must provide method `Dump`. + template <typename Container> + explicit StringList(const Container& list, Format format = kArrayBrackets) : StringList(format) { + for (const typename Container::value_type& current : list) { + current.Dump(NewEntryStream()); + } + } std::ostream& NewEntryStream() { if (is_empty_) { @@ -584,8 +592,8 @@ class HGraphVisualizerPrinter : public HGraphDelegateVisitor { LiveInterval* interval = instruction->GetLiveInterval(); StartAttributeStream("ranges") << StringList(interval->GetFirstRange(), StringList::kSetBrackets); - StartAttributeStream("uses") << StringList(interval->GetFirstUse()); - StartAttributeStream("env_uses") << StringList(interval->GetFirstEnvironmentUse()); + StartAttributeStream("uses") << StringList(interval->GetUses()); + StartAttributeStream("env_uses") << StringList(interval->GetEnvironmentUses()); StartAttributeStream("is_fixed") << interval->IsFixed(); StartAttributeStream("is_split") << interval->IsSplit(); StartAttributeStream("is_low") << interval->IsLowInterval(); |