From 8ccc3f5d06fd217cdaabd37e743adab2031d3720 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Wed, 19 Mar 2014 10:34:11 +0000 Subject: 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 --- compiler/optimizing/builder.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'compiler/optimizing/builder.h') diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h index fff83a1205..46ca9aabd7 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); }; -- cgit v1.2.3-59-g8ed1b