Allow nested inlining.
Also run optimizations before iterating over
the instructions to get rid of, e.g., null checks.
Change-Id: I6e52e61ce4d0ccb63d687afea09bb4722453bb6a
diff --git a/compiler/optimizing/inliner.h b/compiler/optimizing/inliner.h
index 370e33c..07d893e 100644
--- a/compiler/optimizing/inliner.h
+++ b/compiler/optimizing/inliner.h
@@ -33,11 +33,13 @@
HInliner(HGraph* outer_graph,
const DexCompilationUnit& outer_compilation_unit,
CompilerDriver* compiler_driver,
- OptimizingCompilerStats* stats)
+ OptimizingCompilerStats* stats,
+ size_t depth = 0)
: HOptimization(outer_graph, true, "inliner"),
outer_compilation_unit_(outer_compilation_unit),
compiler_driver_(compiler_driver),
- outer_stats_(stats) {}
+ outer_stats_(stats),
+ depth_(depth) {}
void Run() OVERRIDE;
@@ -47,6 +49,7 @@
const DexCompilationUnit& outer_compilation_unit_;
CompilerDriver* const compiler_driver_;
OptimizingCompilerStats* const outer_stats_;
+ const size_t depth_;
DISALLOW_COPY_AND_ASSIGN(HInliner);
};