diff options
Diffstat (limited to 'compiler/driver')
-rw-r--r-- | compiler/driver/dex_compilation_unit.cc | 6 | ||||
-rw-r--r-- | compiler/driver/dex_compilation_unit.h | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/compiler/driver/dex_compilation_unit.cc b/compiler/driver/dex_compilation_unit.cc index c90c37d54a..654eccdad6 100644 --- a/compiler/driver/dex_compilation_unit.cc +++ b/compiler/driver/dex_compilation_unit.cc @@ -31,7 +31,8 @@ DexCompilationUnit::DexCompilationUnit(Handle<mirror::ClassLoader> class_loader, uint32_t method_idx, uint32_t access_flags, const VerifiedMethod* verified_method, - Handle<mirror::DexCache> dex_cache) + Handle<mirror::DexCache> dex_cache, + Handle<mirror::Class> compiling_class) : class_loader_(class_loader), class_linker_(class_linker), dex_file_(&dex_file), @@ -41,7 +42,8 @@ DexCompilationUnit::DexCompilationUnit(Handle<mirror::ClassLoader> class_loader, access_flags_(access_flags), verified_method_(verified_method), dex_cache_(dex_cache), - code_item_accessor_(dex_file, code_item) {} + code_item_accessor_(dex_file, code_item), + compiling_class_(compiling_class) {} const std::string& DexCompilationUnit::GetSymbol() { if (symbol_.empty()) { diff --git a/compiler/driver/dex_compilation_unit.h b/compiler/driver/dex_compilation_unit.h index c1ae3c938b..9d9c218266 100644 --- a/compiler/driver/dex_compilation_unit.h +++ b/compiler/driver/dex_compilation_unit.h @@ -27,6 +27,7 @@ namespace art { namespace mirror { +class Class; class ClassLoader; class DexCache; } // namespace mirror @@ -43,7 +44,8 @@ class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> { uint32_t method_idx, uint32_t access_flags, const VerifiedMethod* verified_method, - Handle<mirror::DexCache> dex_cache); + Handle<mirror::DexCache> dex_cache, + Handle<mirror::Class> compiling_class = Handle<mirror::Class>()); Handle<mirror::ClassLoader> GetClassLoader() const { return class_loader_; @@ -117,6 +119,10 @@ class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> { return code_item_accessor_; } + Handle<mirror::Class> GetCompilingClass() const { + return compiling_class_; + } + private: const Handle<mirror::ClassLoader> class_loader_; @@ -134,6 +140,8 @@ class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> { const CodeItemDataAccessor code_item_accessor_; + Handle<mirror::Class> compiling_class_; + std::string symbol_; }; |