summaryrefslogtreecommitdiff
path: root/compiler/driver/dex_compilation_unit.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2015-02-24 11:32:46 +0000
committer Vladimir Marko <vmarko@google.com> 2015-04-22 20:40:00 +0100
commite490b01c12d33f3bd5c247b55b47e507cc9c8fab (patch)
tree9b04b5390f0f29986d9951bdce4a2cb083113809 /compiler/driver/dex_compilation_unit.h
parentfac10700fd99516e8a14f751fe35553021ce6982 (diff)
Quick: Rewrite type inference pass.
Use method signatures, field types and types embedded in dex insns for type inference. Perform the type inference in two phases, first a simple pass that records all types implied by individual insns, and then an iterative pass to propagate those types further via phi, move, if-cc and aget/aput insns. Bug: 19419671 Change-Id: Id38579d48a44fc5eadd13780afb6d370093056f9
Diffstat (limited to 'compiler/driver/dex_compilation_unit.h')
-rw-r--r--compiler/driver/dex_compilation_unit.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/driver/dex_compilation_unit.h b/compiler/driver/dex_compilation_unit.h
index 03ae489da1..398300699e 100644
--- a/compiler/driver/dex_compilation_unit.h
+++ b/compiler/driver/dex_compilation_unit.h
@@ -21,6 +21,7 @@
#include "dex_file.h"
#include "jni.h"
+#include "base/arena_object.h"
namespace art {
namespace mirror {
@@ -31,7 +32,7 @@ class ClassLinker;
struct CompilationUnit;
class VerifiedMethod;
-class DexCompilationUnit {
+class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> {
public:
explicit DexCompilationUnit(CompilationUnit* cu);