/art/runtime/verifier/ |
D | reg_type.h | 278 RegType(mirror::Class* klass, const std::string& descriptor, in RegType() argument 280 : descriptor_(descriptor), klass_(klass), cache_id_(cache_id) { in RegType() 314 const std::string& descriptor, 322 ConflictType(mirror::Class* klass, const std::string& descriptor, in ConflictType() argument 324 : RegType(klass, descriptor, cache_id) {} in ConflictType() 343 const std::string& descriptor, 351 UndefinedType(mirror::Class* klass, const std::string& descriptor, in UndefinedType() argument 353 : RegType(klass, descriptor, cache_id) {} in UndefinedType() 360 PrimitiveType(mirror::Class* klass, const std::string& descriptor, 368 Cat1Type(mirror::Class* klass, const std::string& descriptor, [all …]
|
D | reg_type_cache.cc | 69 const RegType& RegTypeCache::FromDescriptor(mirror::ClassLoader* loader, const char* descriptor, in FromDescriptor() argument 72 if (descriptor[1] == '\0') { in FromDescriptor() 73 switch (descriptor[0]) { in FromDescriptor() 94 } else if (descriptor[0] == 'L' || descriptor[0] == '[') { in FromDescriptor() 95 return From(loader, descriptor, precise); in FromDescriptor() 126 bool RegTypeCache::MatchDescriptor(size_t idx, const StringPiece& descriptor, bool precise) { in MatchDescriptor() argument 128 if (descriptor != entry->descriptor_) { in MatchDescriptor() 140 mirror::Class* RegTypeCache::ResolveClass(const char* descriptor, mirror::ClassLoader* loader) { in ResolveClass() argument 149 klass = class_linker->FindClass(self, descriptor, class_loader); in ResolveClass() 151 klass = class_linker->LookupClass(self, descriptor, ComputeModifiedUtf8Hash(descriptor), in ResolveClass() [all …]
|
D | method_verifier_test.cc | 32 void VerifyClass(const std::string& descriptor) in VerifyClass() argument 34 ASSERT_TRUE(descriptor != nullptr); in VerifyClass() 36 mirror::Class* klass = class_linker_->FindSystemClass(self, descriptor.c_str()); in VerifyClass() 49 const char* descriptor = dex.GetClassDescriptor(class_def); in VerifyDexFile() local 50 VerifyClass(descriptor); in VerifyDexFile()
|
D | reg_type.cc | 49 PrimitiveType::PrimitiveType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in PrimitiveType() argument 51 : RegType(klass, descriptor, cache_id) { in PrimitiveType() 53 CHECK(!descriptor.empty()); in PrimitiveType() 56 Cat1Type::Cat1Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in Cat1Type() argument 58 : PrimitiveType(klass, descriptor, cache_id) { in Cat1Type() 61 Cat2Type::Cat2Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) in Cat2Type() argument 63 : PrimitiveType(klass, descriptor, cache_id) { in Cat2Type() 128 const std::string& descriptor, in CreateInstance() argument 131 instance_ = new DoubleHiType(klass, descriptor, cache_id); in CreateInstance() 143 const std::string& descriptor, in CreateInstance() argument [all …]
|
D | reg_type_cache.h | 55 const RegType& From(mirror::ClassLoader* loader, const char* descriptor, bool precise) 57 const RegType& FromClass(const char* descriptor, mirror::Class* klass, bool precise) 65 const RegType& FromDescriptor(mirror::ClassLoader* loader, const char* descriptor, bool precise) 147 mirror::Class* ResolveClass(const char* descriptor, mirror::ClassLoader* loader) 149 bool MatchDescriptor(size_t idx, const StringPiece& descriptor, bool precise) 157 static const Type* CreatePrimitiveTypeInstance(const std::string& descriptor)
|
D | method_verifier.cc | 955 const char* descriptor = dex_file_->StringByTypeIdx(idx); in CheckNewInstance() local 956 if (descriptor[0] != 'L') { in CheckNewInstance() 957 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "can't call new-instance on type '" << descriptor << "'"; in CheckNewInstance() 988 const char* descriptor = dex_file_->StringByTypeIdx(idx); in CheckNewArray() local 989 const char* cp = descriptor; in CheckNewArray() 996 << "can't new-array class '" << descriptor << "' (not an array)"; in CheckNewArray() 1001 << "can't new-array class '" << descriptor << "' (exceeds limit)"; in CheckNewArray() 1294 static bool IsPrimitiveDescriptor(char descriptor) { in IsPrimitiveDescriptor() argument 1295 switch (descriptor) { in IsPrimitiveDescriptor() 1352 const char* descriptor = iterator.GetDescriptor(); in SetTypesFromSignature() local [all …]
|
/art/runtime/native/ |
D | java_lang_VMClassLoader.cc | 38 std::string descriptor(DotToDescriptor(name.c_str())); in VMClassLoader_findLoadedClass() local 39 const size_t descriptor_hash = ComputeModifiedUtf8Hash(descriptor.c_str()); in VMClassLoader_findLoadedClass() 40 mirror::Class* c = cl->LookupClass(soa.Self(), descriptor.c_str(), descriptor_hash, loader); in VMClassLoader_findLoadedClass() 47 cl->FindClassInPathClassLoader(soa, soa.Self(), descriptor.c_str(), descriptor_hash, in VMClassLoader_findLoadedClass()
|
D | dalvik_system_DexFile.cc | 232 const std::string descriptor(DotToDescriptor(class_name.c_str())); in DexFile_defineClassNative() local 233 const size_t hash(ComputeModifiedUtf8Hash(descriptor.c_str())); in DexFile_defineClassNative() 235 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor.c_str(), hash); in DexFile_defineClassNative() 243 mirror::Class* result = class_linker->DefineClass(soa.Self(), descriptor.c_str(), hash, in DexFile_defineClassNative() 277 const char* descriptor = dex_file->GetClassDescriptor(class_def); in DexFile_getClassNameList() local 278 descriptors.insert(descriptor); in DexFile_getClassNameList() 290 std::string descriptor(DescriptorToDot(*it)); in DexFile_getClassNameList() local 291 ScopedLocalRef<jstring> jdescriptor(env, env->NewStringUTF(descriptor.c_str())); in DexFile_getClassNameList()
|
/art/compiler/ |
D | image_test.cc | 181 const char* descriptor = dex->GetClassDescriptor(class_def); in TEST_F() local 182 mirror::Class* klass = class_linker_->FindSystemClass(soa.Self(), descriptor); in TEST_F() 183 EXPECT_TRUE(klass != nullptr) << descriptor; in TEST_F() 184 if (image_classes.find(descriptor) != image_classes.end()) { in TEST_F() 186 EXPECT_LT(image_begin, reinterpret_cast<uint8_t*>(klass)) << descriptor; in TEST_F() 187 EXPECT_LT(reinterpret_cast<uint8_t*>(klass), image_end) << descriptor; in TEST_F() 190 reinterpret_cast<uint8_t*>(klass) < image_begin) << descriptor; in TEST_F()
|
D | oat_test.cc | 154 const char* descriptor = dex_file.GetClassDescriptor(class_def); in TEST_F() local 155 mirror::Class* klass = class_linker->FindClass(soa.Self(), descriptor, in TEST_F() 159 CHECK_EQ(mirror::Class::Status::kStatusNotReady, oat_class.GetStatus()) << descriptor; in TEST_F() 161 oat_class.GetType()) << descriptor; in TEST_F()
|
/art/runtime/ |
D | utils.cc | 221 std::string PrettyDescriptor(const char* descriptor) { in PrettyDescriptor() argument 223 const char* c = descriptor; in PrettyDescriptor() 248 default: return descriptor; in PrettyDescriptor() 565 std::string descriptor(class_name); in DotToDescriptor() local 566 std::replace(descriptor.begin(), descriptor.end(), '.', '/'); in DotToDescriptor() 567 if (descriptor.length() > 0 && descriptor[0] != '[') { in DotToDescriptor() 568 descriptor = "L" + descriptor + ";"; in DotToDescriptor() 570 return descriptor; in DotToDescriptor() 573 std::string DescriptorToDot(const char* descriptor) { in DescriptorToDot() argument 574 size_t length = strlen(descriptor); in DescriptorToDot() [all …]
|
D | class_linker.h | 120 mirror::Class* FindClass(Thread* self, const char* descriptor, 130 Thread* self, const char* descriptor, size_t hash, 137 mirror::Class* FindSystemClass(Thread* self, const char* descriptor) 150 mirror::Class* DefineClass(Thread* self, const char* descriptor, size_t hash, 157 mirror::Class* LookupClass(Thread* self, const char* descriptor, size_t hash, 163 void LookupClasses(const char* descriptor, std::vector<mirror::Class*>& classes) 171 bool RemoveClass(const char* descriptor, mirror::ClassLoader* class_loader) 441 mirror::Class* InsertClass(const char* descriptor, mirror::Class* klass, size_t hash) 515 mirror::Class* CreateArrayClass(Thread* self, const char* descriptor, size_t hash, 571 bool IsSameDescriptorInDifferentClassContexts(Thread* self, const char* descriptor, [all …]
|
D | class_linker.cc | 103 Thread* self, ClassLinker* class_linker, const char* descriptor) { in HasInitWithString() argument 109 mirror::Class* exception_class = class_linker->FindClass(self, descriptor, class_loader); in HasInitWithString() 144 const char* descriptor = c->GetVerifyErrorClass()->GetDescriptor(&temp); in ThrowEarlierClassFailure() local 146 if (HasInitWithString(self, this, descriptor)) { in ThrowEarlierClassFailure() 147 self->ThrowNewException(descriptor, PrettyDescriptor(c).c_str()); in ThrowEarlierClassFailure() 149 self->ThrowNewException(descriptor, nullptr); in ThrowEarlierClassFailure() 1530 mirror::Class* ClassLinker::EnsureResolved(Thread* self, const char* descriptor, in EnsureResolved() argument 1554 klass = LookupClass(self, descriptor, ComputeModifiedUtf8Hash(descriptor), in EnsureResolved() 1588 ClassPathEntry FindInClassPath(const char* descriptor, in FindInClassPath() argument 1591 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor, hash); in FindInClassPath() [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 | 48 void AssertNonExistentClass(const std::string& descriptor) in AssertNonExistentClass() argument 51 EXPECT_TRUE(class_linker_->FindSystemClass(self, descriptor.c_str()) == nullptr); in AssertNonExistentClass() 60 void AssertPrimitiveClass(const std::string& descriptor) in AssertPrimitiveClass() argument 63 AssertPrimitiveClass(descriptor, class_linker_->FindSystemClass(self, descriptor.c_str())); in AssertPrimitiveClass() 66 void AssertPrimitiveClass(const std::string& descriptor, mirror::Class* primitive) in AssertPrimitiveClass() argument 73 ASSERT_STREQ(descriptor.c_str(), primitive->GetDescriptor(&temp)); in AssertPrimitiveClass() 184 void AssertClass(const std::string& descriptor, Handle<mirror::Class> klass) in AssertClass() argument 187 EXPECT_STREQ(descriptor.c_str(), klass->GetDescriptor(&temp)); in AssertClass() 188 if (descriptor == "Ljava/lang/Object;") { in AssertClass() 321 void AssertDexFileClass(mirror::ClassLoader* class_loader, const std::string& descriptor) in AssertDexFileClass() argument [all …]
|
D | art_field.cc | 74 mirror::Class* ArtField::ProxyFindSystemClass(const char* descriptor) { in ProxyFindSystemClass() argument 76 return Runtime::Current()->GetClassLinker()->FindSystemClass(Thread::Current(), descriptor); in ProxyFindSystemClass()
|
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() 1520 LOAD_STRING(descriptor, item->descriptor_idx_, "inter_type_id_item descriptor_idx") in CheckInterTypeIdItem() 1523 if (UNLIKELY(!IsValidDescriptor(descriptor))) { in CheckInterTypeIdItem() 1524 ErrorStringPrintf("Invalid type descriptor: '%s'", descriptor); in CheckInterTypeIdItem() 1565 const char* descriptor = it.GetDescriptor(); in CheckInterProtoIdItem() local 1566 if (!CheckShortyDescriptorMatch(*shorty, descriptor, false)) { in CheckInterProtoIdItem() [all …]
|
D | utils.h | 113 std::string PrettyDescriptor(mirror::String* descriptor) 115 std::string PrettyDescriptor(const char* descriptor); 168 std::string DescriptorToDot(const char* descriptor); 172 std::string DescriptorToName(const char* descriptor);
|
D | dex_file.cc | 473 const DexFile::ClassDef* DexFile::FindClassDef(const char* descriptor, size_t hash) const { in FindClassDef() argument 474 DCHECK_EQ(ComputeModifiedUtf8Hash(descriptor), hash); in FindClassDef() 478 auto it = index->FindWithHash(descriptor, hash); in FindClassDef() 487 const StringId* string_id = FindStringId(descriptor); in FindClassDef() 729 std::string descriptor(signature.data() + start_offset, offset - start_offset); in CreateTypeList() local 730 const DexFile::StringId* string_id = FindStringId(descriptor.c_str()); in CreateTypeList() 825 const char* descriptor = GetMethodDeclaringClassDescriptor(GetMethodId(method_idx)); in DecodeDebugInfo0() local 827 local_in_reg[arg_reg].descriptor_ = descriptor; in DecodeDebugInfo0() 843 const char* descriptor = it.GetDescriptor(); in DecodeDebugInfo0() local 847 local_in_reg[arg_reg].descriptor_ = descriptor; in DecodeDebugInfo0() [all …]
|
D | dex_file_verifier.h | 44 bool CheckShortyDescriptorMatch(char shorty_char, const char* descriptor, bool is_return_type);
|
/art/imgdiag/ |
D | imgdiag.cc | 423 std::string descriptor = GetClassDescriptor(klass); in DumpImageDiffMap() local 425 if (strcmp(descriptor.c_str(), "Ljava/lang/Class;") == 0) { in DumpImageDiffMap() 437 } else if (strcmp(descriptor.c_str(), "Ljava/lang/reflect/ArtMethod;") == 0) { in DumpImageDiffMap() 460 if (strcmp(descriptor.c_str(), "Ljava/lang/Class;") == 0) { in DumpImageDiffMap() 461 local_class_map[descriptor] = reinterpret_cast<mirror::Class*>(obj); in DumpImageDiffMap() 462 remote_class_map[descriptor] = reinterpret_cast<mirror::Class*>(remote_obj); in DumpImageDiffMap() 466 class_to_descriptor_map[klass] = descriptor; in DumpImageDiffMap() 502 const std::string& descriptor = class_to_descriptor_map[klass]; in DumpImageDiffMap() local 507 << "class descriptor: '" << descriptor << "'" in DumpImageDiffMap() 511 if (strcmp(descriptor.c_str(), "Ljava/lang/reflect/ArtMethod;") == 0) { in DumpImageDiffMap() [all …]
|
/art/compiler/driver/ |
D | compiler_driver.cc | 519 const char* descriptor = dex_file.GetClassDescriptor(class_def); in GetDexToDexCompilationlevel() local 521 mirror::Class* klass = class_linker->FindClass(self, descriptor, class_loader); in GetDexToDexCompilationlevel() 660 bool CompilerDriver::IsImageClass(const char* descriptor) const { in IsImageClass() 665 return image_classes_->find(descriptor) != image_classes_->end(); in IsImageClass() 669 bool CompilerDriver::IsClassToCompile(const char* descriptor) const { in IsClassToCompile() 677 return classes_to_compile_->find(descriptor) != classes_to_compile_->end(); in IsClassToCompile() 769 const std::string& descriptor(*it); in LoadImageClasses() local 772 hs.NewHandle(class_linker->FindSystemClass(self, descriptor.c_str()))); in LoadImageClasses() 774 VLOG(compiler) << "Failed to find class " << descriptor; in LoadImageClasses() 803 const char* descriptor = dex_file->GetTypeDescriptor(type_id); in LoadImageClasses() local [all …]
|
D | compiler_driver_test.cc | 81 const char* descriptor = dex_file.GetClassDescriptor(class_def); in MakeDexFileExecutable() local 86 mirror::Class* c = class_linker->FindClass(soa.Self(), descriptor, loader); in MakeDexFileExecutable()
|
/art/runtime/mirror/ |
D | class.cc | 167 const char* descriptor = h_this->GetDescriptor(&temp); in ComputeName() local 169 if ((descriptor[0] != 'L') && (descriptor[0] != '[')) { in ComputeName() 173 switch (descriptor[0]) { in ComputeName() 184 LOG(FATAL) << "Unknown primitive type: " << PrintableChar(descriptor[0]); in ComputeName() 190 name = String::AllocFromModifiedUtf8(self, DescriptorToDot(descriptor).c_str()); in ComputeName()
|
/art/compiler/utils/ |
D | test_dex_file_builder.h | 43 void AddType(const std::string& descriptor) { in AddType() argument 45 AddString(descriptor); in AddType() 46 types_.emplace(descriptor, 0u); in AddType()
|