diff options
author | 2015-02-12 15:25:22 +0000 | |
---|---|---|
committer | 2015-02-19 17:07:52 +0000 | |
commit | acf735c13998ad2a175f5a17e7bfce220073279d (patch) | |
tree | 94969f2387f0e6dad8c7e5712aa8187c9de2be56 /compiler/optimizing/optimization.h | |
parent | 39109a06015c91188232e59fa9e60e0915d24cd7 (diff) |
Reference type propagation
- propagate reference types between instructions
- remove checked casts when possible
- add StackHandleScopeCollection to manage an arbitrary number of stack
handles (see comments)
Change-Id: I31200067c5e7375a5ea8e2f873c4374ebdb5ee60
Diffstat (limited to 'compiler/optimizing/optimization.h')
-rw-r--r-- | compiler/optimizing/optimization.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/optimizing/optimization.h b/compiler/optimizing/optimization.h index d9e082a7f3..af39e092c7 100644 --- a/compiler/optimizing/optimization.h +++ b/compiler/optimizing/optimization.h @@ -18,6 +18,7 @@ #define ART_COMPILER_OPTIMIZING_OPTIMIZATION_H_ #include "nodes.h" +#include "optimizing_compiler_stats.h" namespace art { @@ -34,8 +35,10 @@ class HOptimization : public ValueObject { public: HOptimization(HGraph* graph, bool is_in_ssa_form, - const char* pass_name) + const char* pass_name, + OptimizingCompilerStats* stats = nullptr) : graph_(graph), + stats_(stats), is_in_ssa_form_(is_in_ssa_form), pass_name_(pass_name) {} @@ -51,7 +54,11 @@ class HOptimization : public ValueObject { void Check(); protected: + void MaybeRecordStat(MethodCompilationStat compilation_stat) const; + HGraph* const graph_; + // Used to record stats about the optimization. + OptimizingCompilerStats* const stats_; private: // Does the analyzed graph use the SSA form? |