OSDN Git Service

Remove H[Reverse]PostOrderIterator and HInsertionOrderIterator.
authorVladimir Marko <vmarko@google.com>
Tue, 25 Oct 2016 15:54:12 +0000 (16:54 +0100)
committerVladimir Marko <vmarko@google.com>
Thu, 27 Oct 2016 13:30:29 +0000 (14:30 +0100)
commit2c45bc9137c29f886e69923535aff31a74d90829
tree90c7762c2dcb1105bf5907d6a1d068f172ea6155
parent168c58ce18b139d313cbc6131e3bb43539952c55
Remove H[Reverse]PostOrderIterator and HInsertionOrderIterator.

Use range-based loops instead, introducing helper functions
ReverseRange() for iteration in reverse order in containers.
When the contents of the underlying container change inside
the loop, use an index-based loop that better exposes the
container data modifications, compared to the old iterator
interface that's hiding it which may lead to subtle bugs.

Test: m test-art-host
Change-Id: I2a4e6c508b854c37a697fc4b1e8423a8c92c5ea0
26 files changed:
compiler/optimizing/bounds_check_elimination.cc
compiler/optimizing/code_generator.cc
compiler/optimizing/dead_code_elimination.cc
compiler/optimizing/gvn.cc
compiler/optimizing/induction_var_analysis.cc
compiler/optimizing/inliner.cc
compiler/optimizing/instruction_builder.cc
compiler/optimizing/instruction_simplifier.cc
compiler/optimizing/intrinsics.cc
compiler/optimizing/licm.cc
compiler/optimizing/linear_order.cc
compiler/optimizing/linear_order.h
compiler/optimizing/liveness_test.cc
compiler/optimizing/load_store_elimination.cc
compiler/optimizing/nodes.cc
compiler/optimizing/nodes.h
compiler/optimizing/prepare_for_register_allocation.cc
compiler/optimizing/reference_type_propagation.cc
compiler/optimizing/register_allocator_graph_color.cc
compiler/optimizing/register_allocator_linear_scan.cc
compiler/optimizing/select_generator.cc
compiler/optimizing/side_effects_analysis.cc
compiler/optimizing/ssa_builder.cc
compiler/optimizing/ssa_liveness_analysis.cc
compiler/optimizing/ssa_phi_elimination.cc
runtime/base/iteration_range.h