Home
last modified time | relevance | path

Searched refs:DexFile (Results 1 – 25 of 182) sorted by relevance

12345678

/art/runtime/
Ddex_file_verifier.cc33 case DexFile::kDexTypeHeaderItem: return 1 << 0; in MapTypeToBitMask()
34 case DexFile::kDexTypeStringIdItem: return 1 << 1; in MapTypeToBitMask()
35 case DexFile::kDexTypeTypeIdItem: return 1 << 2; in MapTypeToBitMask()
36 case DexFile::kDexTypeProtoIdItem: return 1 << 3; in MapTypeToBitMask()
37 case DexFile::kDexTypeFieldIdItem: return 1 << 4; in MapTypeToBitMask()
38 case DexFile::kDexTypeMethodIdItem: return 1 << 5; in MapTypeToBitMask()
39 case DexFile::kDexTypeClassDefItem: return 1 << 6; in MapTypeToBitMask()
40 case DexFile::kDexTypeMapList: return 1 << 7; in MapTypeToBitMask()
41 case DexFile::kDexTypeTypeList: return 1 << 8; in MapTypeToBitMask()
42 case DexFile::kDexTypeAnnotationSetRefList: return 1 << 9; in MapTypeToBitMask()
[all …]
Ddex_file_test.cc35 std::unique_ptr<const DexFile> dex(OpenTestDexFile("Nested")); in TEST_F()
136 static std::unique_ptr<const DexFile> OpenDexFileBase64(const char* base64, in OpenDexFileBase64()
158 std::vector<std::unique_ptr<const DexFile>> tmp; in OpenDexFileBase64()
159 bool success = DexFile::Open(location, location, &error_msg, &tmp); in OpenDexFileBase64()
162 std::unique_ptr<const DexFile> dex_file = std::move(tmp[0]); in OpenDexFileBase64()
170 std::unique_ptr<const DexFile> raw(OpenDexFileBase64(kRawDex, tmp.GetFilename().c_str())); in TEST_F()
173 const DexFile::Header& header = raw->GetHeader(); in TEST_F()
201 std::unique_ptr<const DexFile> raw(OpenTestDexFile("Main")); in TEST_F()
209 EXPECT_TRUE(DexFile::GetChecksum(GetLibCoreDexFileName().c_str(), &checksum, &error_msg)) in TEST_F()
216 std::unique_ptr<const DexFile> raw(OpenTestDexFile("Nested")); in TEST_F()
[all …]
Ddex_file.cc56 const uint8_t DexFile::kDexMagic[] = { 'd', 'e', 'x', '\n' };
57 const uint8_t DexFile::kDexMagicVersion[] = { '0', '3', '5', '\0' };
79 bool DexFile::GetChecksum(const char* filename, uint32_t* checksum, std::string* error_msg) { in GetChecksum()
88 if (DexFile::IsMultiDexLocation(filename)) { in GetChecksum()
118 std::unique_ptr<const DexFile> dex_file( in GetChecksum()
119 DexFile::OpenFile(fd.release(), filename, false, error_msg)); in GetChecksum()
130 bool DexFile::Open(const char* filename, const char* location, std::string* error_msg, in Open()
131 std::vector<std::unique_ptr<const DexFile>>* dex_files) { in Open()
140 return DexFile::OpenZip(fd.release(), location, error_msg, dex_files); in Open()
143 std::unique_ptr<const DexFile> dex_file(DexFile::OpenFile(fd.release(), location, true, in Open()
[all …]
Ddex_file-inl.h28 inline int32_t DexFile::GetStringLength(const StringId& string_id) const { in GetStringLength()
33 inline const char* DexFile::GetStringDataAndUtf16Length(const StringId& string_id, in GetStringDataAndUtf16Length()
41 inline const Signature DexFile::GetMethodSignature(const MethodId& method_id) const { in GetMethodSignature()
45 inline const DexFile::TryItem* DexFile::GetTryItems(const CodeItem& code_item, uint32_t offset) { in GetTryItems()
51 static inline bool DexFileStringEquals(const DexFile* df1, uint32_t sidx1, in DexFileStringEquals()
52 const DexFile* df2, uint32_t sidx2) { in DexFileStringEquals()
85 const DexFile::TypeId& return_type_id = dex_file_->GetTypeId(proto_id_->return_type_idx_);
86 const DexFile::TypeId& rhs_return_type_id =
94 const DexFile::TypeList* params = dex_file_->GetProtoParameters(*proto_id_);
95 const DexFile::TypeList* rhs_params = rhs.dex_file_->GetProtoParameters(*rhs.proto_id_);
[all …]
Ddex_file_verifier_test.cc104 static std::unique_ptr<const DexFile> OpenDexFileBase64(const char* base64, in OpenDexFileBase64()
126 std::vector<std::unique_ptr<const DexFile>> tmp; in OpenDexFileBase64()
127 bool success = DexFile::Open(location, location, error_msg, &tmp); in OpenDexFileBase64()
130 std::unique_ptr<const DexFile> dex_file = std::move(tmp[0]); in OpenDexFileBase64()
155 std::unique_ptr<const DexFile> raw(OpenDexFileBase64(kGoodTestDex, tmp.GetFilename().c_str(), in TEST_F()
161 DexFile::Header* header = reinterpret_cast<DexFile::Header*>(dex_file); in FixUpChecksum()
164 const uint32_t non_sum = sizeof(DexFile::Header::magic_) + sizeof(DexFile::Header::checksum_); in FixUpChecksum()
170 static std::unique_ptr<const DexFile> FixChecksumAndOpen(uint8_t* bytes, size_t length, in FixChecksumAndOpen()
192 std::vector<std::unique_ptr<const DexFile>> tmp; in FixChecksumAndOpen()
193 if (!DexFile::Open(location, location, error_msg, &tmp)) { in FixChecksumAndOpen()
[all …]
Dcommon_runtime_test.h34 class DexFile; variable
100 std::unique_ptr<const DexFile> LoadExpectSingleDexFile(const char* location);
124 std::vector<std::unique_ptr<const DexFile>> OpenTestDexFiles(const char* name)
127 std::unique_ptr<const DexFile> OpenTestDexFile(const char* name)
140 const DexFile* java_lang_dex_file_;
141 std::vector<const DexFile*> boot_class_path_;
145 std::vector<const DexFile*> GetDexFiles(jobject jclass_loader);
148 const DexFile* GetFirstDexFile(jobject jclass_loader);
155 std::vector<std::unique_ptr<const DexFile>> loaded_dex_files_;
Dart_method-inl.h271 return dex_method_index_ == DexFile::kDexNoIndex; in IsRuntimeMethod()
324 inline const DexFile* ArtMethod::GetDexFile() { in GetDexFile()
330 if (UNLIKELY(dex_method_idx == DexFile::kDexNoIndex)) { in GetDeclaringClassDescriptor()
334 const DexFile* dex_file = GetDexFile(); in GetDeclaringClassDescriptor()
340 const DexFile* dex_file = GetDexFile(); in GetShorty()
346 if (dex_method_idx != DexFile::kDexNoIndex) { in GetSignature()
348 const DexFile* dex_file = GetDexFile(); in GetSignature()
356 if (LIKELY(dex_method_idx != DexFile::kDexNoIndex)) { in GetName()
358 const DexFile* dex_file = GetDexFile(); in GetName()
377 inline const DexFile::CodeItem* ArtMethod::GetCodeItem() { in GetCodeItem()
[all …]
Ddex_file_verifier.h29 static bool Verify(const DexFile* dex_file, const uint8_t* begin, size_t size,
37 DexFileVerifier(const DexFile* dex_file, const uint8_t* begin, size_t size, const char* location) in DexFileVerifier()
58 bool CheckAndGetHandlerOffsets(const DexFile::CodeItem* code_item,
108 const DexFile::FieldId* CheckLoadFieldId(uint32_t idx, const char* error_fmt);
109 const DexFile::MethodId* CheckLoadMethodId(uint32_t idx, const char* error_fmt);
114 const DexFile* const dex_file_;
118 const DexFile::Header* const header_;
127 std::unordered_set<decltype(DexFile::ClassDef::class_idx_)> defined_classes_;
Doat_file_test.cc65 static std::vector<const DexFile*> ToConstDexFiles( in ToConstDexFiles()
66 const std::vector<std::unique_ptr<const DexFile>>& in) { in ToConstDexFiles()
67 std::vector<const DexFile*> ret; in ToConstDexFiles()
92 std::vector<std::unique_ptr<const DexFile>> dex_files1 = OpenTestDexFiles("Main"); in TEST_F()
93 std::vector<const DexFile*> dex_files_const1 = ToConstDexFiles(dex_files1); in TEST_F()
102 std::vector<std::unique_ptr<const DexFile>> dex_files2 = OpenTestDexFiles("MultiDex"); in TEST_F()
104 std::vector<const DexFile*> dex_files_const2 = ToConstDexFiles(dex_files2); in TEST_F()
Ddex_method_iterator.h28 explicit DexMethodIterator(const std::vector<const DexFile*>& dex_files) in DexMethodIterator()
106 const DexFile& GetDexFile() { in GetDexFile()
128 const DexFile& GetDexFileInternal() const { in GetDexFileInternal()
130 const DexFile* dex_file = dex_files_[dex_file_index_]; in GetDexFileInternal()
135 const std::vector<const DexFile*>& dex_files_;
141 const DexFile::ClassDef* class_def_;
Ddex_file.h54 class DexFile {
389 std::vector<std::unique_ptr<const DexFile>>* dex_files);
396 static std::unique_ptr<const DexFile> Open(const uint8_t* base, size_t size, in Open()
407 std::vector<std::unique_ptr<const DexFile>>* dex_files);
410 virtual ~DexFile();
577 const FieldId* FindFieldId(const DexFile::TypeId& declaring_klass,
578 const DexFile::StringId& name,
579 const DexFile::TypeId& type) const;
583 const DexFile::TypeId& type_id = GetTypeId(field_id.class_idx_); in GetFieldDeclaringClassDescriptor()
589 const DexFile::TypeId& type_id = GetTypeId(field_id.type_idx_); in GetFieldTypeDescriptor()
[all …]
Dclass_linker.h112 void InitWithoutImage(std::vector<std::unique_ptr<const DexFile>> boot_class_path)
152 const DexFile& dex_file, const DexFile::ClassDef& dex_class_def)
194 mirror::String* ResolveString(const DexFile& dex_file, uint32_t string_idx,
201 mirror::Class* ResolveType(const DexFile& dex_file, uint16_t type_idx, mirror::Class* referrer)
217 mirror::Class* ResolveType(const DexFile& dex_file, uint16_t type_idx,
227 ArtMethod* ResolveMethod(const DexFile& dex_file, uint32_t method_idx,
250 ArtField* ResolveField(const DexFile& dex_file,
261 ArtField* ResolveFieldJLS(const DexFile& dex_file, uint32_t field_idx,
281 void RegisterDexFile(const DexFile& dex_file)
284 void RegisterDexFile(const DexFile& dex_file, Handle<mirror::DexCache> dex_cache)
[all …]
Dart_method.cc63 const DexFile::MethodId& method_id = dex_file->GetMethodId(dex_method_idx); in GetNameAsString()
98 const DexFile* dex_file = method1->GetDexFile(); in HasSameNameAndSignature()
99 const DexFile::MethodId& mid = dex_file->GetMethodId(method1->GetDexMethodIndex()); in HasSameNameAndSignature()
101 const DexFile::MethodId& mid2 = dex_file->GetMethodId(method2->GetDexMethodIndex()); in HasSameNameAndSignature()
104 const DexFile* dex_file2 = method2->GetDexFile(); in HasSameNameAndSignature()
105 const DexFile::MethodId& mid2 = dex_file2->GetMethodId(method2->GetDexMethodIndex()); in HasSameNameAndSignature()
151 uint32_t ArtMethod::FindDexMethodIndexInOtherDexFile(const DexFile& other_dexfile, in FindDexMethodIndexInOtherDexFile()
153 const DexFile* dexfile = GetDexFile(); in FindDexMethodIndexInOtherDexFile()
155 const DexFile::MethodId& mid = dexfile->GetMethodId(dex_method_idx); in FindDexMethodIndexInOtherDexFile()
156 const DexFile::MethodId& name_and_sig_mid = other_dexfile.GetMethodId(name_and_signature_idx); in FindDexMethodIndexInOtherDexFile()
[all …]
Dmethod_reference.h24 class DexFile; variable
28 MethodReference(const DexFile* file, uint32_t index) : dex_file(file), dex_method_index(index) { in MethodReference()
30 const DexFile* dex_file;
Dcommon_runtime_test.cc279 std::unique_ptr<const DexFile> CommonRuntimeTest::LoadExpectSingleDexFile(const char* location) { in LoadExpectSingleDexFile()
280 std::vector<std::unique_ptr<const DexFile>> dex_files; in LoadExpectSingleDexFile()
283 if (!DexFile::Open(location, location, &error_msg, &dex_files)) { in LoadExpectSingleDexFile()
457 std::vector<std::unique_ptr<const DexFile>> CommonRuntimeTest::OpenTestDexFiles(const char* name) { in OpenTestDexFiles()
460 std::vector<std::unique_ptr<const DexFile>> dex_files; in OpenTestDexFiles()
461 bool success = DexFile::Open(filename.c_str(), filename.c_str(), &error_msg, &dex_files); in OpenTestDexFiles()
470 std::unique_ptr<const DexFile> CommonRuntimeTest::OpenTestDexFile(const char* name) { in OpenTestDexFile()
471 std::vector<std::unique_ptr<const DexFile>> vector = OpenTestDexFiles(name); in OpenTestDexFile()
476 std::vector<const DexFile*> CommonRuntimeTest::GetDexFiles(jobject jclass_loader) { in GetDexFiles()
477 std::vector<const DexFile*> ret; in GetDexFiles()
[all …]
/art/compiler/driver/
Ddex_compilation_unit.h40 const DexFile& dex_file, const DexFile::CodeItem* code_item,
56 const DexFile* GetDexFile() const { in GetDexFile()
68 const DexFile::CodeItem* GetCodeItem() const { in GetCodeItem()
73 const DexFile::MethodId& method_id = dex_file_->GetMethodId(dex_method_idx_); in GetShorty()
78 const DexFile::MethodId& method_id = dex_file_->GetMethodId(dex_method_idx_); in GetShorty()
119 const DexFile* const dex_file_;
121 const DexFile::CodeItem* const code_item_;
Dcompiler_driver.h115 void CompileAll(jobject class_loader, const std::vector<const DexFile*>& dex_files,
190 void AddRequiresConstructorBarrier(Thread* self, const DexFile* dex_file,
192 bool RequiresConstructorBarrier(Thread* self, const DexFile* dex_file,
197 bool CanAssumeTypeIsPresentInDexCache(const DexFile& dex_file, uint32_t type_idx);
199 bool CanAssumeStringIsPresentInDexCache(const DexFile& dex_file, uint32_t string_idx)
203 bool CanAccessTypeWithoutChecks(uint32_t referrer_idx, const DexFile& dex_file,
210 bool CanAccessInstantiableTypeWithoutChecks(uint32_t referrer_idx, const DexFile& dex_file,
214 bool CanEmbedTypeInCode(const DexFile& dex_file, uint32_t type_idx,
254 Handle<mirror::ClassLoader> class_loader, const DexFile* dex_file,
260 ArtField* resolved_field, const DexFile** declaring_dex_file,
[all …]
Dcompiler_driver.cc339 const art::DexFile::CodeItem* code_item,
345 const art::DexFile& dex_file);
498 const std::vector<const DexFile*>& dex_files, in CompileAll()
512 Thread* self, Handle<mirror::ClassLoader> class_loader, const DexFile& dex_file, in GetDexToDexCompilationlevel()
513 const DexFile::ClassDef& class_def) { in GetDexToDexCompilationlevel()
549 const DexFile* dex_file; in CompileOne()
563 const DexFile::CodeItem* code_item = dex_file->GetCodeItem(method->GetCodeItemOffset()); in CompileOne()
566 std::vector<const DexFile*> dex_files; in CompileOne()
576 const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_idx); in CompileOne()
598 const DexFile* dex_file = method->GetDexFile(); in CompileMethod()
[all …]
/art/runtime/native/
Ddalvik_system_DexFile.cc42 static std::unique_ptr<std::vector<const DexFile*>>
48 return std::unique_ptr<std::vector<const DexFile*>>(); in ConvertJavaArrayToNative()
56 return std::unique_ptr<std::vector<const DexFile*>>(); in ConvertJavaArrayToNative()
59 std::unique_ptr<std::vector<const DexFile*>> ret(new std::vector<const DexFile*>()); in ConvertJavaArrayToNative()
62 ret->push_back(reinterpret_cast<const DexFile*>(static_cast<uintptr_t>(*(long_data + i)))); in ConvertJavaArrayToNative()
67 return std::unique_ptr<std::vector<const DexFile*>>(); in ConvertJavaArrayToNative()
74 std::vector<std::unique_ptr<const DexFile>>& vec) { in ConvertNativeToJavaArray()
164 std::vector<std::unique_ptr<const DexFile>> dex_files; in DexFile_openDexFileNative()
196 std::unique_ptr<std::vector<const DexFile*>> dex_files = ConvertJavaArrayToNative(env, cookie); in DexFile_closeDexFile()
220 std::unique_ptr<std::vector<const DexFile*>> dex_files = ConvertJavaArrayToNative(env, cookie); in DexFile_defineClassNative()
[all …]
/art/compiler/
Dcompiler.h45 virtual bool CanCompileMethod(uint32_t method_idx, const DexFile& dex_file, CompilationUnit* cu)
48 virtual CompiledMethod* Compile(const DexFile::CodeItem* code_item,
54 const DexFile& dex_file) const = 0;
58 const DexFile& dex_file) const = 0;
87 static bool IsPathologicalCase(const DexFile::CodeItem& code_item,
89 const DexFile& dex_file);
/art/compiler/utils/
Dtest_dex_file_builder.h81 std::unique_ptr<const DexFile> Build(const std::string& dex_location) { in Build()
84 uint8_t data[sizeof(DexFile::Header)]; in Build()
88 DexFile::Header* header = reinterpret_cast<DexFile::Header*>(&header_data.data); in Build()
89 std::copy_n(DexFile::kDexMagic, 4u, header->magic_); in Build()
90 std::copy_n(DexFile::kDexMagicVersion, 4u, header->magic_ + 4u); in Build()
92 header->endian_tag_ = DexFile::kDexEndianConstant; in Build()
99 uint32_t string_ids_offset = sizeof(DexFile::Header); in Build()
110 uint32_t type_ids_offset = string_ids_offset + strings_.size() * sizeof(DexFile::StringId); in Build()
119 uint32_t proto_ids_offset = type_ids_offset + types_.size() * sizeof(DexFile::TypeId); in Build()
127 data_section_size = entry.second.data_offset + 4u + num_args * sizeof(DexFile::TypeItem); in Build()
[all …]
/art/test/134-nodex2oat-nofallback/
Dexpected.txt8 at dalvik.system.DexFile.openDexFileNative(Native Method)
9 at dalvik.system.DexFile.openDexFile(DexFile.java:295)
10 at dalvik.system.DexFile.<init>(DexFile.java:80)
11 at dalvik.system.DexFile.<init>(DexFile.java:59)
39 at dalvik.system.DexFile.openDexFileNative(Native Method)
40 at dalvik.system.DexFile.openDexFile(DexFile.java:295)
41 at dalvik.system.DexFile.<init>(DexFile.java:80)
42 at dalvik.system.DexFile.<init>(DexFile.java:59)
/art/runtime/verifier/
Dmethod_verifier.h143 static FailureKind VerifyClass(Thread* self, const DexFile* dex_file,
146 const DexFile::ClassDef* class_def,
151 const DexFile* dex_file,
154 const DexFile::ClassDef* class_def,
155 const DexFile::CodeItem* code_item, ArtMethod* method,
211 MethodVerifier(Thread* self, const DexFile* dex_file, Handle<mirror::DexCache> dex_cache, in MethodVerifier()
212 Handle<mirror::ClassLoader> class_loader, const DexFile::ClassDef* class_def, in MethodVerifier()
213 const DexFile::CodeItem* code_item, uint32_t method_idx, in MethodVerifier()
237 const DexFile::CodeItem* CodeItem() const;
282 MethodVerifier(Thread* self, const DexFile* dex_file, Handle<mirror::DexCache> dex_cache,
[all …]
/art/compiler/dex/quick/
Ddex_file_to_method_inliner_map.h30 class DexFile; variable
43 DexFileMethodInliner* GetMethodInliner(const DexFile* dex_file) NO_THREAD_SAFETY_ANALYSIS;
49 std::map<const DexFile*, DexFileMethodInliner*> inliners_ GUARDED_BY(lock_);
Dquick_compiler.h37 bool CanCompileMethod(uint32_t method_idx, const DexFile& dex_file, CompilationUnit* cu) const
40 CompiledMethod* Compile(const DexFile::CodeItem* code_item,
46 const DexFile& dex_file) const OVERRIDE;
50 const DexFile& dex_file) const OVERRIDE;

12345678