summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimization.h
diff options
context:
space:
mode:
author Calin Juravle <calin@google.com> 2015-02-12 15:25:22 +0000
committer Calin Juravle <calin@google.com> 2015-02-19 17:07:52 +0000
commitacf735c13998ad2a175f5a17e7bfce220073279d (patch)
tree94969f2387f0e6dad8c7e5712aa8187c9de2be56 /compiler/optimizing/optimization.h
parent39109a06015c91188232e59fa9e60e0915d24cd7 (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.h9
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?