/art/runtime/verifier/ |
D | reg_type.h | 276 RegType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in RegType() argument 278 : descriptor_(descriptor), klass_(GcRoot<mirror::Class>(klass)), cache_id_(cache_id) { in RegType() 310 static ConflictType* CreateInstance(mirror::Class* klass, const std::string& descriptor, 318 ConflictType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in ConflictType() argument 320 : RegType(klass, descriptor, cache_id) { in ConflictType() 340 static UndefinedType* CreateInstance(mirror::Class* klass, const std::string& descriptor, 348 UndefinedType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in UndefinedType() argument 350 : RegType(klass, descriptor, cache_id) { in UndefinedType() 361 PrimitiveType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 367 Cat1Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) [all …]
|
D | reg_type_cache.cc | 68 RegType& RegTypeCache::FromDescriptor(mirror::ClassLoader* loader, const char* descriptor, in FromDescriptor() argument 71 if (descriptor[1] == '\0') { in FromDescriptor() 72 switch (descriptor[0]) { in FromDescriptor() 93 } else if (descriptor[0] == 'L' || descriptor[0] == '[') { in FromDescriptor() 94 return From(loader, descriptor, precise); in FromDescriptor() 125 bool RegTypeCache::MatchDescriptor(size_t idx, const StringPiece& descriptor, bool precise) { in MatchDescriptor() argument 127 if (descriptor != entry->descriptor_) { in MatchDescriptor() 139 mirror::Class* RegTypeCache::ResolveClass(const char* descriptor, mirror::ClassLoader* loader) { in ResolveClass() argument 148 klass = class_linker->FindClass(self, descriptor, class_loader); in ResolveClass() 150 klass = class_linker->LookupClass(descriptor, ComputeModifiedUtf8Hash(descriptor), loader); in ResolveClass() [all …]
|
D | method_verifier_test.cc | 32 void VerifyClass(const std::string& descriptor) in VerifyClass() argument 34 ASSERT_TRUE(descriptor != NULL); in VerifyClass() 35 mirror::Class* klass = class_linker_->FindSystemClass(Thread::Current(), descriptor.c_str()); in VerifyClass() 50 const char* descriptor = dex->GetClassDescriptor(class_def); in VerifyDexFile() local 51 VerifyClass(descriptor); in VerifyDexFile()
|
D | reg_type.cc | 67 PrimitiveType::PrimitiveType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in PrimitiveType() argument 69 : RegType(klass, descriptor, cache_id) { in PrimitiveType() 71 CHECK(!descriptor.empty()); in PrimitiveType() 74 Cat1Type::Cat1Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in Cat1Type() argument 76 : PrimitiveType(klass, descriptor, cache_id) { in Cat1Type() 79 Cat2Type::Cat2Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in Cat2Type() argument 81 : PrimitiveType(klass, descriptor, cache_id) { in Cat2Type() 145 DoubleHiType* DoubleHiType::CreateInstance(mirror::Class* klass, const std::string& descriptor, in CreateInstance() argument 148 instance_ = new DoubleHiType(klass, descriptor, cache_id); in CreateInstance() 165 DoubleLoType* DoubleLoType::CreateInstance(mirror::Class* klass, const std::string& descriptor, in CreateInstance() argument [all …]
|
D | reg_type_cache.h | 55 RegType& From(mirror::ClassLoader* loader, const char* descriptor, bool precise) 57 RegType& FromClass(const char* descriptor, mirror::Class* klass, bool precise) 65 RegType& FromDescriptor(mirror::ClassLoader* loader, const char* descriptor, bool precise) 154 mirror::Class* ResolveClass(const char* descriptor, mirror::ClassLoader* loader) 156 bool MatchDescriptor(size_t idx, const StringPiece& descriptor, bool precise) 164 static Type* CreatePrimitiveTypeInstance(const std::string& descriptor)
|
D | method_verifier.cc | 825 const char* descriptor = dex_file_->StringByTypeIdx(idx); in CheckNewInstance() local 826 if (descriptor[0] != 'L') { in CheckNewInstance() 827 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "can't call new-instance on type '" << descriptor << "'"; in CheckNewInstance() 858 const char* descriptor = dex_file_->StringByTypeIdx(idx); in CheckNewArray() local 859 const char* cp = descriptor; in CheckNewArray() 866 << "can't new-array class '" << descriptor << "' (not an array)"; in CheckNewArray() 871 << "can't new-array class '" << descriptor << "' (exceeds limit)"; in CheckNewArray() 1175 static bool IsPrimitiveDescriptor(char descriptor) { in IsPrimitiveDescriptor() argument 1176 switch (descriptor) { in IsPrimitiveDescriptor() 1218 const char* descriptor = iterator.GetDescriptor(); in SetTypesFromSignature() local [all …]
|
/art/compiler/sea_ir/types/ |
D | type_inference.cc | 23 bool TypeInference::IsPrimitiveDescriptor(char descriptor) { in IsPrimitiveDescriptor() argument 24 switch (descriptor) { in IsPrimitiveDescriptor() 43 const char* descriptor = dex_file_->GetTypeDescriptor(dex_file_->GetTypeId(method_id.class_idx_)); in FunctionTypeInfo() local 44 declaring_class_ = &(type_cache_->FromDescriptor(NULL, descriptor, false)); in FunctionTypeInfo() 53 const char* descriptor = dex_file_->GetTypeDescriptor(dex_file_->GetTypeId(method_id.class_idx_)); in FunctionTypeInfo() local 54 declaring_class_ = &(type_cache_->FromDescriptor(NULL, descriptor, false)); in FunctionTypeInfo() 60 const char* descriptor = dex_file_->StringByTypeIdx(return_type_idx); in GetReturnValueType() local 62 const Type& return_type = type_cache_->FromDescriptor(NULL, descriptor, false); in GetReturnValueType() 94 const char* descriptor = iterator.GetDescriptor(); in GetDeclaredArgumentTypes() local 95 if (descriptor == NULL) { in GetDeclaredArgumentTypes() [all …]
|
D | type_inference.h | 44 static bool IsPrimitiveDescriptor(char descriptor);
|
/art/runtime/native/ |
D | java_lang_VMClassLoader.cc | 35 std::string descriptor(DotToDescriptor(name.c_str())); in VMClassLoader_findLoadedClass() local 36 const size_t descriptor_hash = ComputeModifiedUtf8Hash(descriptor.c_str()); in VMClassLoader_findLoadedClass() 37 mirror::Class* c = cl->LookupClass(descriptor.c_str(), descriptor_hash, loader); in VMClassLoader_findLoadedClass() 44 c = cl->FindClassInPathClassLoader(soa, soa.Self(), descriptor.c_str(), descriptor_hash, in VMClassLoader_findLoadedClass()
|
D | dalvik_system_DexFile.cc | 181 const std::string descriptor(DotToDescriptor(class_name.c_str())); in DexFile_defineClassNative() local 182 const size_t hash(ComputeModifiedUtf8Hash(descriptor.c_str())); in DexFile_defineClassNative() 184 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor.c_str(), hash); in DexFile_defineClassNative() 192 mirror::Class* result = class_linker->DefineClass(soa.Self(), descriptor.c_str(), hash, in DexFile_defineClassNative() 223 const char* descriptor = dex_file->GetClassDescriptor(class_def); in DexFile_getClassNameList() local 224 descriptors.insert(descriptor); in DexFile_getClassNameList() 235 std::string descriptor(DescriptorToDot(*it)); in DexFile_getClassNameList() local 236 ScopedLocalRef<jstring> jdescriptor(env, env->NewStringUTF(descriptor.c_str())); in DexFile_getClassNameList()
|
D | java_lang_Class.cc | 62 std::string descriptor(DotToDescriptor(name.c_str())); in Class_classForName() local 67 hs.NewHandle(class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader))); in Class_classForName()
|
/art/compiler/ |
D | image_test.cc | 176 const char* descriptor = dex->GetClassDescriptor(class_def); in TEST_F() local 177 mirror::Class* klass = class_linker_->FindSystemClass(soa.Self(), descriptor); in TEST_F() 178 EXPECT_TRUE(klass != nullptr) << descriptor; in TEST_F() 179 if (image_classes.find(descriptor) != image_classes.end()) { in TEST_F() 181 EXPECT_LT(image_begin, reinterpret_cast<byte*>(klass)) << descriptor; in TEST_F() 182 EXPECT_LT(reinterpret_cast<byte*>(klass), image_end) << descriptor; in TEST_F() 185 reinterpret_cast<byte*>(klass) < image_begin) << descriptor; in TEST_F()
|
D | oat_test.cc | 162 const char* descriptor = dex_file->GetClassDescriptor(class_def); in TEST_F() local 164 mirror::Class* klass = class_linker->FindClass(soa.Self(), descriptor, in TEST_F() 168 CHECK_EQ(mirror::Class::Status::kStatusNotReady, oat_class.GetStatus()) << descriptor; in TEST_F() 170 oat_class.GetType()) << descriptor; in TEST_F()
|
/art/runtime/ |
D | utils.cc | 243 std::string PrettyDescriptor(const char* descriptor) { in PrettyDescriptor() argument 245 const char* c = descriptor; in PrettyDescriptor() 270 default: return descriptor; in PrettyDescriptor() 621 std::string descriptor(class_name); in DotToDescriptor() local 622 std::replace(descriptor.begin(), descriptor.end(), '.', '/'); in DotToDescriptor() 623 if (descriptor.length() > 0 && descriptor[0] != '[') { in DotToDescriptor() 624 descriptor = "L" + descriptor + ";"; in DotToDescriptor() 626 return descriptor; in DotToDescriptor() 629 std::string DescriptorToDot(const char* descriptor) { in DescriptorToDot() argument 630 size_t length = strlen(descriptor); in DescriptorToDot() [all …]
|
D | class_linker.h | 75 mirror::Class* FindClass(Thread* self, const char* descriptor, 82 Thread* self, const char* descriptor, size_t hash, 88 mirror::Class* FindSystemClass(Thread* self, const char* descriptor) 99 mirror::Class* DefineClass(Thread* self, const char* descriptor, size_t hash, 106 mirror::Class* LookupClass(const char* descriptor, size_t hash, 112 void LookupClasses(const char* descriptor, std::vector<mirror::Class*>& classes) 120 bool RemoveClass(const char* descriptor, mirror::ClassLoader* class_loader) 402 mirror::Class* InsertClass(const char* descriptor, mirror::Class* klass, size_t hash) 459 mirror::Class* CreateArrayClass(Thread* self, const char* descriptor, size_t hash, 519 bool IsSameDescriptorInDifferentClassContexts(Thread* self, const char* descriptor, [all …]
|
D | class_linker.cc | 1962 mirror::Class* ClassLinker::EnsureResolved(Thread* self, const char* descriptor, in EnsureResolved() argument 1986 klass = LookupClass(descriptor, ComputeModifiedUtf8Hash(descriptor), in EnsureResolved() 2020 ClassPathEntry FindInClassPath(const char* descriptor, in FindInClassPath() argument 2023 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor, hash); in FindInClassPath() 2032 Thread* self, const char* descriptor, in FindClassInPathClassLoader() argument 2041 ClassPathEntry pair = FindInClassPath(descriptor, hash, boot_class_path_); in FindClassInPathClassLoader() 2044 mirror::Class* klass = LookupClass(descriptor, hash, nullptr); in FindClassInPathClassLoader() 2046 return EnsureResolved(self, descriptor, klass); in FindClassInPathClassLoader() 2048 klass = DefineClass(self, descriptor, hash, NullHandle<mirror::ClassLoader>(), *pair.first, in FindClassInPathClassLoader() 2053 CHECK(self->IsExceptionPending()) << descriptor; in FindClassInPathClassLoader() [all …]
|
D | class_linker-inl.h | 32 inline mirror::Class* ClassLinker::FindSystemClass(Thread* self, const char* descriptor) { in FindSystemClass() argument 33 return FindClass(self, descriptor, NullHandle<mirror::ClassLoader>()); in FindSystemClass() 45 std::string descriptor = "["; in FindArrayClass() local 47 descriptor += (*element_class)->GetDescriptor(&temp); in FindArrayClass() 51 mirror::Class* array_class = FindClass(self, descriptor.c_str(), class_loader); in FindArrayClass()
|
D | class_linker_test.cc | 47 void AssertNonExistentClass(const std::string& descriptor) in AssertNonExistentClass() argument 50 EXPECT_TRUE(class_linker_->FindSystemClass(self, descriptor.c_str()) == NULL); in AssertNonExistentClass() 59 void AssertPrimitiveClass(const std::string& descriptor) in AssertPrimitiveClass() argument 62 AssertPrimitiveClass(descriptor, class_linker_->FindSystemClass(self, descriptor.c_str())); in AssertPrimitiveClass() 65 void AssertPrimitiveClass(const std::string& descriptor, mirror::Class* primitive) in AssertPrimitiveClass() argument 72 ASSERT_STREQ(descriptor.c_str(), primitive->GetDescriptor(&temp)); in AssertPrimitiveClass() 186 void AssertClass(const std::string& descriptor, Handle<mirror::Class> klass) in AssertClass() argument 189 EXPECT_STREQ(descriptor.c_str(), klass->GetDescriptor(&temp)); in AssertClass() 190 if (descriptor == "Ljava/lang/Object;") { in AssertClass() 322 void AssertDexFileClass(mirror::ClassLoader* class_loader, const std::string& descriptor) in AssertDexFileClass() argument [all …]
|
D | dex_file_verifier.cc | 137 bool DexFileVerifier::CheckShortyDescriptorMatch(char shorty_char, const char* descriptor, in CheckShortyDescriptorMatch() argument 154 if (UNLIKELY((descriptor[0] != shorty_char) || (descriptor[1] != '\0'))) { in CheckShortyDescriptorMatch() 156 shorty_char, descriptor); in CheckShortyDescriptorMatch() 161 if (UNLIKELY((descriptor[0] != 'L') && (descriptor[0] != '['))) { in CheckShortyDescriptorMatch() 162 ErrorStringPrintf("Shorty vs. type mismatch: '%c', '%s'", shorty_char, descriptor); in CheckShortyDescriptorMatch() 1493 LOAD_STRING(descriptor, item->descriptor_idx_, "inter_type_id_item descriptor_idx") in CheckInterTypeIdItem() 1496 if (UNLIKELY(!IsValidDescriptor(descriptor))) { in CheckInterTypeIdItem() 1497 ErrorStringPrintf("Invalid type descriptor: '%s'", descriptor); in CheckInterTypeIdItem() 1538 const char* descriptor = it.GetDescriptor(); in CheckInterProtoIdItem() local 1539 if (!CheckShortyDescriptorMatch(*shorty, descriptor, false)) { in CheckInterProtoIdItem() [all …]
|
D | dex_file.cc | 422 const DexFile::ClassDef* DexFile::FindClassDef(const char* descriptor, size_t hash) const { in FindClassDef() argument 423 DCHECK_EQ(ComputeModifiedUtf8Hash(descriptor), hash); in FindClassDef() 427 auto it = index->FindWithHash(descriptor, hash); in FindClassDef() 436 const StringId* string_id = FindStringId(descriptor); in FindClassDef() 462 const char* descriptor = GetClassDescriptor(class_def); in FindClassDef() local 463 index->Insert(std::make_pair(descriptor, &class_def)); in FindClassDef() 677 std::string descriptor(signature.data() + start_offset, offset - start_offset); in CreateTypeList() local 678 const DexFile::StringId* string_id = FindStringId(descriptor.c_str()); in CreateTypeList() 772 const char* descriptor = GetMethodDeclaringClassDescriptor(GetMethodId(method_idx)); in DecodeDebugInfo0() local 774 local_in_reg[arg_reg].descriptor_ = descriptor; in DecodeDebugInfo0() [all …]
|
D | utils.h | 320 std::string PrettyDescriptor(mirror::String* descriptor) 322 std::string PrettyDescriptor(const char* descriptor); 386 std::string DescriptorToDot(const char* descriptor); 390 std::string DescriptorToName(const char* descriptor);
|
/art/compiler/driver/ |
D | compiler_driver.cc | 522 const char* descriptor = dex_file.GetClassDescriptor(class_def); in GetDexToDexCompilationlevel() local 524 mirror::Class* klass = class_linker->FindClass(self, descriptor, class_loader); in GetDexToDexCompilationlevel() 629 bool CompilerDriver::IsImageClass(const char* descriptor) const { in IsImageClass() 633 return image_classes_->find(descriptor) != image_classes_->end(); in IsImageClass() 637 bool CompilerDriver::IsClassToCompile(const char* descriptor) const { in IsClassToCompile() 644 return classes_to_compile_->find(descriptor) != classes_to_compile_->end(); in IsClassToCompile() 726 const std::string& descriptor(*it); in LoadImageClasses() local 729 hs.NewHandle(class_linker->FindSystemClass(self, descriptor.c_str()))); in LoadImageClasses() 731 VLOG(compiler) << "Failed to find class " << descriptor; in LoadImageClasses() 760 const char* descriptor = dex_file->GetTypeDescriptor(type_id); in LoadImageClasses() local [all …]
|
D | compiler_driver_test.cc | 82 const char* descriptor = dex_file.GetClassDescriptor(class_def); in MakeDexFileExecutable() local 87 mirror::Class* c = class_linker->FindClass(soa.Self(), descriptor, loader); in MakeDexFileExecutable()
|
/art/oatdump/ |
D | oatdump.cc | 287 const char* descriptor = m->GetDeclaringClassDescriptor(); in GetQuickOatCode() local 289 dex_file->FindClassDef(descriptor, ComputeModifiedUtf8Hash(descriptor)); in GetQuickOatCode() 380 const char* descriptor = dex_file->GetClassDescriptor(class_def); in DumpOatDexFile() local 384 class_def_index, descriptor, oat_class_offset, class_def.class_idx_) in DumpOatDexFile() 1153 const char* descriptor = field->GetTypeDescriptor(); in PrintField() local 1155 if (descriptor[0] != 'L' && descriptor[0] != '[') { in PrintField() 1174 os << StringPrintf("null %s\n", PrettyDescriptor(descriptor).c_str()); in PrintField() 1183 os << StringPrintf("%p %s\n", value, PrettyDescriptor(descriptor).c_str()); in PrintField() 1463 void Update(const char* descriptor, size_t object_bytes) { in Update() 1464 SizeAndCountTable::iterator it = sizes_and_counts.find(descriptor); in Update() [all …]
|
/art/runtime/mirror/ |
D | class.cc | 172 const char* descriptor = h_this->GetDescriptor(&temp); in ComputeName() local 174 if ((descriptor[0] != 'L') && (descriptor[0] != '[')) { in ComputeName() 178 switch (descriptor[0]) { in ComputeName() 189 LOG(FATAL) << "Unknown primitive type: " << PrintableChar(descriptor[0]); in ComputeName() 195 name = String::AllocFromModifiedUtf8(self, DescriptorToDot(descriptor).c_str()); in ComputeName()
|