diff options
Diffstat (limited to 'compiler/driver')
-rw-r--r-- | compiler/driver/compiler_driver-inl.h | 2 | ||||
-rw-r--r-- | compiler/driver/compiler_driver.cc | 38 | ||||
-rw-r--r-- | compiler/driver/compiler_driver.h | 8 | ||||
-rw-r--r-- | compiler/driver/compiler_driver_test.cc | 2 | ||||
-rw-r--r-- | compiler/driver/dex_compilation_unit.cc | 2 | ||||
-rw-r--r-- | compiler/driver/dex_compilation_unit.h | 10 |
6 files changed, 33 insertions, 29 deletions
diff --git a/compiler/driver/compiler_driver-inl.h b/compiler/driver/compiler_driver-inl.h index 63dcb4664c..ec2e38bc7f 100644 --- a/compiler/driver/compiler_driver-inl.h +++ b/compiler/driver/compiler_driver-inl.h @@ -57,7 +57,7 @@ inline ObjPtr<mirror::Class> CompilerDriver::ResolveCompilingMethodsClass( const DexCompilationUnit* mUnit) { DCHECK_EQ(dex_cache->GetDexFile(), mUnit->GetDexFile()); DCHECK_EQ(class_loader.Get(), mUnit->GetClassLoader().Get()); - const DexFile::MethodId& referrer_method_id = + const dex::MethodId& referrer_method_id = mUnit->GetDexFile()->GetMethodId(mUnit->GetDexMethodIndex()); return ResolveClass(soa, dex_cache, class_loader, referrer_method_id.class_idx_, mUnit); } diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 36beb5927a..e440eec735 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -344,7 +344,7 @@ void CompilerDriver::CompileAll(jobject class_loader, static optimizer::DexToDexCompiler::CompilationLevel GetDexToDexCompilationLevel( Thread* self, const CompilerDriver& driver, Handle<mirror::ClassLoader> class_loader, - const DexFile& dex_file, const DexFile::ClassDef& class_def) + const DexFile& dex_file, const dex::ClassDef& class_def) REQUIRES_SHARED(Locks::mutator_lock_) { // When the dex file is uncompressed in the APK, we do not generate a copy in the .vdex // file. As a result, dex2oat will map the dex file read-only, and we only need to check @@ -389,7 +389,7 @@ static optimizer::DexToDexCompiler::CompilationLevel GetDexToDexCompilationLevel const CompilerDriver& driver, jobject jclass_loader, const DexFile& dex_file, - const DexFile::ClassDef& class_def) { + const dex::ClassDef& class_def) { ScopedObjectAccess soa(self); StackHandleScope<1> hs(soa.Self()); Handle<mirror::ClassLoader> class_loader( @@ -416,7 +416,7 @@ template <typename CompileFn> static void CompileMethodHarness( Thread* self, CompilerDriver* driver, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, uint16_t class_def_idx, @@ -465,7 +465,7 @@ static void CompileMethodHarness( static void CompileMethodDex2Dex( Thread* self, CompilerDriver* driver, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, uint16_t class_def_idx, @@ -476,7 +476,7 @@ static void CompileMethodDex2Dex( Handle<mirror::DexCache> dex_cache) { auto dex_2_dex_fn = [](Thread* self ATTRIBUTE_UNUSED, CompilerDriver* driver, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, uint16_t class_def_idx, @@ -527,7 +527,7 @@ static void CompileMethodDex2Dex( static void CompileMethodQuick( Thread* self, CompilerDriver* driver, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, uint16_t class_def_idx, @@ -539,7 +539,7 @@ static void CompileMethodQuick( auto quick_fn = []( Thread* self, CompilerDriver* driver, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, uint16_t class_def_idx, @@ -650,7 +650,7 @@ void CompilerDriver::CompileOne(Thread* self, uint32_t method_idx, uint32_t access_flags, InvokeType invoke_type, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, Handle<mirror::DexCache> dex_cache, Handle<mirror::ClassLoader> h_class_loader) { // Can we run DEX-to-DEX compiler on this class ? @@ -1125,7 +1125,7 @@ void CompilerDriver::LoadImageClasses(TimingLogger* timings, ScopedNullHandle<mirror::ClassLoader>()) : nullptr; if (klass == nullptr) { - const DexFile::TypeId& type_id = dex_file->GetTypeId(exception_type_idx); + const dex::TypeId& type_id = dex_file->GetTypeId(exception_type_idx); const char* descriptor = dex_file->GetTypeDescriptor(type_id); LOG(FATAL) << "Failed to resolve class " << descriptor; } @@ -1596,7 +1596,7 @@ class ResolveClassFieldsAndMethodsVisitor : public CompilationVisitor { // needs it, here we try to resolve fields and methods used in class // definitions, since many of them many never be referenced by // generated code. - const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index); + const dex::ClassDef& class_def = dex_file.GetClassDef(class_def_index); ScopedObjectAccess soa(self); StackHandleScope<2> hs(soa.Self()); Handle<mirror::ClassLoader> class_loader( @@ -1898,7 +1898,7 @@ class VerifyClassVisitor : public CompilationVisitor { ScopedTrace trace(__FUNCTION__); ScopedObjectAccess soa(Thread::Current()); const DexFile& dex_file = *manager_->GetDexFile(); - const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index); + const dex::ClassDef& class_def = dex_file.GetClassDef(class_def_index); const char* descriptor = dex_file.GetClassDescriptor(class_def); ClassLinker* class_linker = manager_->GetClassLinker(); jobject jclass_loader = manager_->GetClassLoader(); @@ -2032,7 +2032,7 @@ class SetVerifiedClassVisitor : public CompilationVisitor { ScopedTrace trace(__FUNCTION__); ScopedObjectAccess soa(Thread::Current()); const DexFile& dex_file = *manager_->GetDexFile(); - const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index); + const dex::ClassDef& class_def = dex_file.GetClassDef(class_def_index); const char* descriptor = dex_file.GetClassDescriptor(class_def); ClassLinker* class_linker = manager_->GetClassLinker(); jobject jclass_loader = manager_->GetClassLoader(); @@ -2097,8 +2097,8 @@ class InitializeClassVisitor : public CompilationVisitor { ScopedTrace trace(__FUNCTION__); jobject jclass_loader = manager_->GetClassLoader(); const DexFile& dex_file = *manager_->GetDexFile(); - const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index); - const DexFile::TypeId& class_type_id = dex_file.GetTypeId(class_def.class_idx_); + const dex::ClassDef& class_def = dex_file.GetClassDef(class_def_index); + const dex::TypeId& class_type_id = dex_file.GetTypeId(class_def.class_idx_); const char* descriptor = dex_file.StringDataByIdx(class_type_id.descriptor_idx_); ScopedObjectAccess soa(Thread::Current()); @@ -2122,8 +2122,8 @@ class InitializeClassVisitor : public CompilationVisitor { void TryInitializeClass(Handle<mirror::Class> klass, Handle<mirror::ClassLoader>& class_loader) REQUIRES_SHARED(Locks::mutator_lock_) { const DexFile& dex_file = klass->GetDexFile(); - const DexFile::ClassDef* class_def = klass->GetClassDef(); - const DexFile::TypeId& class_type_id = dex_file.GetTypeId(class_def->class_idx_); + const dex::ClassDef* class_def = klass->GetClassDef(); + const dex::TypeId& class_type_id = dex_file.GetTypeId(class_def->class_idx_); const char* descriptor = dex_file.StringDataByIdx(class_type_id.descriptor_idx_); ScopedObjectAccessUnchecked soa(Thread::Current()); StackHandleScope<3> hs(soa.Self()); @@ -2278,7 +2278,7 @@ class InitializeClassVisitor : public CompilationVisitor { StackHandleScope<1> hs(Thread::Current()); Handle<mirror::DexCache> dex_cache = hs.NewHandle(klass->GetDexCache()); - const DexFile::ClassDef* class_def = klass->GetClassDef(); + const dex::ClassDef* class_def = klass->GetClassDef(); ClassLinker* class_linker = manager_->GetClassLinker(); // Check encoded final field values for strings and intern. @@ -2320,7 +2320,7 @@ class InitializeClassVisitor : public CompilationVisitor { self->ClearException(); return false; } - const DexFile::TypeList* types = m->GetParameterTypeList(); + const dex::TypeList* types = m->GetParameterTypeList(); if (types != nullptr) { for (uint32_t i = 0; i < types->Size(); ++i) { dex::TypeIndex param_type_idx = types->GetTypeItem(i).type_idx_; @@ -2575,7 +2575,7 @@ static void CompileDexFile(CompilerDriver* driver, ClassLinker* class_linker = context.GetClassLinker(); jobject jclass_loader = context.GetClassLoader(); ClassReference ref(&dex_file, class_def_index); - const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index); + const dex::ClassDef& class_def = dex_file.GetClassDef(class_def_index); ClassAccessor accessor(dex_file, class_def_index); CompilerDriver* const driver = context.GetCompiler(); // Skip compiling classes with generic verifier failures since they will still fail at runtime diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index 025a632a8e..6f8ec125bc 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -36,7 +36,6 @@ #include "class_status.h" #include "compiler.h" #include "dex/class_reference.h" -#include "dex/dex_file.h" #include "dex/dex_file_types.h" #include "dex/dex_to_dex_compiler.h" #include "dex/method_reference.h" @@ -47,6 +46,10 @@ namespace art { +namespace dex { +struct CodeItem; +} // namespace dex + namespace mirror { class Class; class DexCache; @@ -62,6 +65,7 @@ class BitVector; class CompiledMethod; class CompilerOptions; class DexCompilationUnit; +class DexFile; template<class T> class Handle; struct InlineIGetIPutData; class InstructionSetFeatures; @@ -127,7 +131,7 @@ class CompilerDriver { uint32_t method_idx, uint32_t access_flags, InvokeType invoke_type, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, Handle<mirror::DexCache> dex_cache, Handle<mirror::ClassLoader> h_class_loader) REQUIRES(!Locks::mutator_lock_); diff --git a/compiler/driver/compiler_driver_test.cc b/compiler/driver/compiler_driver_test.cc index b9241292ee..e73d0724c9 100644 --- a/compiler/driver/compiler_driver_test.cc +++ b/compiler/driver/compiler_driver_test.cc @@ -80,7 +80,7 @@ class CompilerDriverTest : public CommonCompilerTest { void MakeDexFileExecutable(jobject class_loader, const DexFile& dex_file) { ClassLinker* class_linker = Runtime::Current()->GetClassLinker(); for (size_t i = 0; i < dex_file.NumClassDefs(); i++) { - const DexFile::ClassDef& class_def = dex_file.GetClassDef(i); + const dex::ClassDef& class_def = dex_file.GetClassDef(i); const char* descriptor = dex_file.GetClassDescriptor(class_def); ScopedObjectAccess soa(Thread::Current()); StackHandleScope<1> hs(soa.Self()); diff --git a/compiler/driver/dex_compilation_unit.cc b/compiler/driver/dex_compilation_unit.cc index e5a6f0e177..0d0f074917 100644 --- a/compiler/driver/dex_compilation_unit.cc +++ b/compiler/driver/dex_compilation_unit.cc @@ -30,7 +30,7 @@ namespace art { DexCompilationUnit::DexCompilationUnit(Handle<mirror::ClassLoader> class_loader, ClassLinker* class_linker, const DexFile& dex_file, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint16_t class_def_idx, uint32_t method_idx, uint32_t access_flags, diff --git a/compiler/driver/dex_compilation_unit.h b/compiler/driver/dex_compilation_unit.h index 757f0e7695..f68d93f0cb 100644 --- a/compiler/driver/dex_compilation_unit.h +++ b/compiler/driver/dex_compilation_unit.h @@ -39,7 +39,7 @@ class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> { DexCompilationUnit(Handle<mirror::ClassLoader> class_loader, ClassLinker* class_linker, const DexFile& dex_file, - const DexFile::CodeItem* code_item, + const dex::CodeItem* code_item, uint16_t class_def_idx, uint32_t method_idx, uint32_t access_flags, @@ -67,17 +67,17 @@ class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> { return dex_method_idx_; } - const DexFile::CodeItem* GetCodeItem() const { + const dex::CodeItem* GetCodeItem() const { return code_item_; } const char* GetShorty() const { - const DexFile::MethodId& method_id = dex_file_->GetMethodId(dex_method_idx_); + const dex::MethodId& method_id = dex_file_->GetMethodId(dex_method_idx_); return dex_file_->GetMethodShorty(method_id); } const char* GetShorty(uint32_t* shorty_len) const { - const DexFile::MethodId& method_id = dex_file_->GetMethodId(dex_method_idx_); + const dex::MethodId& method_id = dex_file_->GetMethodId(dex_method_idx_); return dex_file_->GetMethodShorty(method_id, shorty_len); } @@ -165,7 +165,7 @@ class DexCompilationUnit : public DeletableArenaObject<kArenaAllocMisc> { const DexFile* const dex_file_; - const DexFile::CodeItem* const code_item_; + const dex::CodeItem* const code_item_; const uint16_t class_def_idx_; const uint32_t dex_method_idx_; const uint32_t access_flags_; |