diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-03-19 10:34:11 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-03-31 09:44:40 +0100 |
commit | 8ccc3f5d06fd217cdaabd37e743adab2031d3720 (patch) | |
tree | ec8c904baafb4d9b9bfd582245e2d780bcdfaade /compiler/optimizing/builder.h | |
parent | ad174d1b54bf2fa477bec71a0ca93595f54b8fe9 (diff) | |
download | art-8ccc3f5d06fd217cdaabd37e743adab2031d3720.zip art-8ccc3f5d06fd217cdaabd37e743adab2031d3720.tar.gz art-8ccc3f5d06fd217cdaabd37e743adab2031d3720.tar.bz2 |
Add support for invoke-static in optimizing compiler.
Support is limited to calls without parameters and returning
void. For simplicity, we currently follow the Quick ABI.
Change-Id: I54805161141b7eac5959f1cae0dc138dd0b2e8a5
Diffstat (limited to 'compiler/optimizing/builder.h')
-rw-r--r-- | compiler/optimizing/builder.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h index fff83a1..46ca9aa 100644 --- a/compiler/optimizing/builder.h +++ b/compiler/optimizing/builder.h @@ -18,6 +18,7 @@ #define ART_COMPILER_OPTIMIZING_BUILDER_H_ #include "dex_file.h" +#include "driver/dex_compilation_unit.h" #include "utils/allocation.h" #include "utils/growable_array.h" @@ -33,7 +34,9 @@ class HLocal; class HGraphBuilder : public ValueObject { public: - explicit HGraphBuilder(ArenaAllocator* arena) + HGraphBuilder(ArenaAllocator* arena, + const DexCompilationUnit* dex_compilation_unit = nullptr, + const DexFile* dex_file = nullptr) : arena_(arena), branch_targets_(arena, 0), locals_(arena, 0), @@ -42,7 +45,9 @@ class HGraphBuilder : public ValueObject { current_block_(nullptr), graph_(nullptr), constant0_(nullptr), - constant1_(nullptr) { } + constant1_(nullptr), + dex_file_(dex_file), + dex_compilation_unit_(dex_compilation_unit) { } HGraph* BuildGraph(const DexFile::CodeItem& code); @@ -83,6 +88,9 @@ class HGraphBuilder : public ValueObject { HIntConstant* constant0_; HIntConstant* constant1_; + const DexFile* const dex_file_; + const DexCompilationUnit* const dex_compilation_unit_; + DISALLOW_COPY_AND_ASSIGN(HGraphBuilder); }; |