From c9360ce1f1dabb4075b09dd6db49ee6d4212a6fc Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Thu, 5 Jun 2014 20:09:47 +0100 Subject: Use ScopedArenaVector instead of std::vector in SSA transformation. Change-Id: Ibf8471274f2d5e11fcc185044745434c3c82ed74 --- compiler/dex/mir_optimization_test.cc | 2 ++ compiler/dex/ssa_transformation.cc | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'compiler/dex') diff --git a/compiler/dex/mir_optimization_test.cc b/compiler/dex/mir_optimization_test.cc index 69c394f168..29c353a4e6 100644 --- a/compiler/dex/mir_optimization_test.cc +++ b/compiler/dex/mir_optimization_test.cc @@ -188,7 +188,9 @@ class ClassInitCheckEliminationTest : public testing::Test { } void PerformClassInitCheckElimination() { + cu_.mir_graph->SSATransformationStart(); cu_.mir_graph->ComputeDFSOrders(); + cu_.mir_graph->SSATransformationEnd(); bool gate_result = cu_.mir_graph->EliminateClassInitChecksGate(); ASSERT_TRUE(gate_result); RepeatingPreOrderDfsIterator iterator(cu_.mir_graph.get()); diff --git a/compiler/dex/ssa_transformation.cc b/compiler/dex/ssa_transformation.cc index bd6bc22531..43243254f1 100644 --- a/compiler/dex/ssa_transformation.cc +++ b/compiler/dex/ssa_transformation.cc @@ -16,6 +16,7 @@ #include "compiler_internals.h" #include "dataflow_iterator-inl.h" +#include "utils/scoped_arena_containers.h" #define NOTVISITED (-1) @@ -69,7 +70,8 @@ void MIRGraph::MarkPreOrder(BasicBlock* block) { } void MIRGraph::RecordDFSOrders(BasicBlock* block) { - std::vector succ; + DCHECK(temp_scoped_alloc_.get() != nullptr); + ScopedArenaVector succ(temp_scoped_alloc_->Adapter()); MarkPreOrder(block); succ.push_back(block); while (!succ.empty()) { @@ -176,7 +178,9 @@ void MIRGraph::ComputeDomPostOrderTraversal(BasicBlock* bb) { dom_post_order_traversal_->Reset(); } ClearAllVisitedFlags(); - std::vector> work_stack; + DCHECK(temp_scoped_alloc_.get() != nullptr); + ScopedArenaVector> work_stack( + temp_scoped_alloc_->Adapter()); bb->visited = true; work_stack.push_back(std::make_pair(bb, bb->i_dominated->Indexes().begin())); while (!work_stack.empty()) { -- cgit v1.2.3-59-g8ed1b