/art/runtime/verifier/ |
H A D | method_verifier_test.cc | 32 void VerifyClass(const std::string& descriptor) 34 ASSERT_TRUE(descriptor != NULL); 35 mirror::Class* klass = class_linker_->FindSystemClass(Thread::Current(), descriptor.c_str()); 50 const char* descriptor = dex->GetClassDescriptor(class_def); local 51 VerifyClass(descriptor);
|
H A D | reg_type.h | 276 RegType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 278 : descriptor_(descriptor), klass_(GcRoot<mirror::Class>(klass)), cache_id_(cache_id) { 310 static ConflictType* CreateInstance(mirror::Class* klass, const std::string& descriptor, 318 ConflictType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 320 : RegType(klass, descriptor, cache_id) { 340 static UndefinedType* CreateInstance(mirror::Class* klass, const std::string& descriptor, 348 UndefinedType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 350 : RegType(klass, descriptor, cache_id) { 361 PrimitiveType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 367 Cat1Type(mirror::Class* klass, const std::string& descriptor, uint16_ 687 UninitializedType(mirror::Class* klass, const std::string& descriptor, uint32_t allocation_pc, uint16_t cache_id) argument [all...] |
H A D | reg_type_cache.cc | 39 // We weren't looking for a precise reference, as we're looking up based on a descriptor, but 40 // we found a matching entry based on the descriptor. Return the precise entry in that case. 68 RegType& RegTypeCache::FromDescriptor(mirror::ClassLoader* loader, const char* descriptor, argument 71 if (descriptor[1] == '\0') { 72 switch (descriptor[0]) { 93 } else if (descriptor[0] == 'L' || descriptor[0] == '[') { 94 return From(loader, descriptor, precise); 125 bool RegTypeCache::MatchDescriptor(size_t idx, const StringPiece& descriptor, bool precise) { argument 127 if (descriptor ! 139 ResolveClass(const char* descriptor, mirror::ClassLoader* loader) argument 159 From(mirror::ClassLoader* loader, const char* descriptor, bool precise) argument 213 FromClass(const char* descriptor, mirror::Class* klass, bool precise) argument 284 CreatePrimitiveTypeInstance(const std::string& descriptor) argument [all...] |
H A D | reg_type.cc | 67 PrimitiveType::PrimitiveType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 69 : RegType(klass, descriptor, cache_id) { 71 CHECK(!descriptor.empty()); 74 Cat1Type::Cat1Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 76 : PrimitiveType(klass, descriptor, cache_id) { 79 Cat2Type::Cat2Type(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) 81 : PrimitiveType(klass, descriptor, cache_id) { 145 DoubleHiType* DoubleHiType::CreateInstance(mirror::Class* klass, const std::string& descriptor, argument 148 instance_ = new DoubleHiType(klass, descriptor, cache_id); 165 DoubleLoType* DoubleLoType::CreateInstance(mirror::Class* klass, const std::string& descriptor, argument 185 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 193 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 225 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 244 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 264 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 284 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 304 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 324 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 344 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 368 CreateInstance(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument 388 PreciseReferenceType(mirror::Class* klass, const std::string& descriptor, uint16_t cache_id) argument [all...] |
H A 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)
|
H A D | method_verifier.cc | 808 const char* descriptor = dex_file_->StringByTypeIdx(idx); local 809 if (descriptor[0] != 'L') { 810 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "can't call new-instance on type '" << descriptor << "'"; 841 const char* descriptor = dex_file_->StringByTypeIdx(idx); local 842 const char* cp = descriptor; 849 << "can't new-array class '" << descriptor << "' (not an array)"; 854 << "can't new-array class '" << descriptor << "' (exceeds limit)"; 1158 static bool IsPrimitiveDescriptor(char descriptor) { argument 1159 switch (descriptor) { 1201 const char* descriptor local 1207 << " args, found more (" << descriptor << ")"; local 1248 << " args, found more (" << descriptor << ")"; local 1270 const char* descriptor = dex_file_->GetReturnTypeDescriptor(proto_id); local 2212 const char* descriptor = dex_file_->StringByTypeIdx(return_type_idx); local 2313 const char* descriptor; local 2371 const char* descriptor; local 2645 const char* descriptor = called_method->GetReturnTypeDescriptor(); local 2931 const char* descriptor = dex_file_->StringByTypeIdx(class_idx); local 3393 const char* descriptor = local 3727 const char* descriptor = dex_file_->GetFieldTypeDescriptor(field_id); local 3799 const char* descriptor = dex_file_->GetFieldTypeDescriptor(field_id); local 3909 const char* descriptor = field->GetTypeDescriptor(); local 4065 const char* descriptor = dex_file_->GetTypeDescriptor(dex_file_->GetTypeId(return_type_idx)); local 4075 const char* descriptor local [all...] |
/art/compiler/sea_ir/types/ |
H A D | type_inference.cc | 23 bool TypeInference::IsPrimitiveDescriptor(char descriptor) { argument 24 switch (descriptor) { 43 const char* descriptor = dex_file_->GetTypeDescriptor(dex_file_->GetTypeId(method_id.class_idx_)); local 44 declaring_class_ = &(type_cache_->FromDescriptor(NULL, descriptor, false)); 53 const char* descriptor = dex_file_->GetTypeDescriptor(dex_file_->GetTypeId(method_id.class_idx_)); local 54 declaring_class_ = &(type_cache_->FromDescriptor(NULL, descriptor, false)); 60 const char* descriptor = dex_file_->StringByTypeIdx(return_type_idx); local 62 const Type& return_type = type_cache_->FromDescriptor(NULL, descriptor, false); 94 const char* descriptor = iterator.GetDescriptor(); local 95 if (descriptor [all...] |
H A D | type_inference.h | 43 // Returns true if @descriptor corresponds to a primitive type. 44 static bool IsPrimitiveDescriptor(char descriptor);
|
/art/compiler/ |
H A D | image_test.cc | 173 const char* descriptor = dex->GetClassDescriptor(class_def); local 174 mirror::Class* klass = class_linker_->FindSystemClass(soa.Self(), descriptor); 175 EXPECT_TRUE(klass != nullptr) << descriptor; 176 if (image_classes.find(descriptor) != image_classes.end()) { 178 EXPECT_LT(image_begin, reinterpret_cast<byte*>(klass)) << descriptor; 179 EXPECT_LT(reinterpret_cast<byte*>(klass), image_end) << descriptor; local 182 reinterpret_cast<byte*>(klass) < image_begin) << descriptor;
|
H A D | oat_test.cc | 162 const char* descriptor = dex_file->GetClassDescriptor(class_def); local 164 mirror::Class* klass = class_linker->FindClass(soa.Self(), descriptor, 168 CHECK_EQ(mirror::Class::Status::kStatusNotReady, oat_class.GetStatus()) << descriptor; 170 oat_class.GetType()) << descriptor;
|
/art/runtime/native/ |
H A D | java_lang_VMClassLoader.cc | 35 std::string descriptor(DotToDescriptor(name.c_str())); 36 mirror::Class* c = cl->LookupClass(descriptor.c_str(), loader); 43 c = cl->FindClassInPathClassLoader(soa, soa.Self(), descriptor.c_str(), hs.NewHandle(loader));
|
H A D | java_lang_Class.cc | 62 std::string descriptor(DotToDescriptor(name.c_str())); 67 hs.NewHandle(class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader)));
|
H A D | dalvik_system_DexFile.cc | 181 const std::string descriptor(DotToDescriptor(class_name.c_str())); 184 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor.c_str()); 192 mirror::Class* result = class_linker->DefineClass(descriptor.c_str(), class_loader, *dex_file, 223 const char* descriptor = dex_file->GetClassDescriptor(class_def); local 224 descriptors.insert(descriptor); 235 std::string descriptor(DescriptorToDot(*it)); 236 ScopedLocalRef<jstring> jdescriptor(env, env->NewStringUTF(descriptor.c_str()));
|
/art/runtime/ |
H A D | utils.cc | 243 std::string PrettyDescriptor(const char* descriptor) { argument 245 const char* c = descriptor; 270 default: return descriptor; 621 std::string descriptor(class_name); 622 std::replace(descriptor.begin(), descriptor.end(), '.', '/'); 623 if (descriptor.length() > 0 && descriptor[0] != '[') { 624 descriptor = "L" + descriptor 629 DescriptorToDot(const char* descriptor) argument 648 DescriptorToName(const char* descriptor) argument [all...] |
H A D | class_linker.h | 71 // Finds a class by its descriptor, loading it if necessary. 73 mirror::Class* FindClass(Thread* self, const char* descriptor, 79 Thread* self, const char* descriptor, 83 // Finds a class by its descriptor using the "system" class loader, ie by searching the 85 mirror::Class* FindSystemClass(Thread* self, const char* descriptor) 96 mirror::Class* DefineClass(const char* descriptor, 101 // Finds a class by its descriptor, returning NULL if it isn't wasn't loaded 103 mirror::Class* LookupClass(const char* descriptor, const mirror::ClassLoader* class_loader) 107 // Finds all the classes with the given descriptor, regardless of ClassLoader. 108 void LookupClasses(const char* descriptor, st 745 const char* descriptor = class_roots_descriptors_[class_root]; local [all...] |
H A D | class_linker.cc | 369 SetClassRoot(kPrimitiveChar, char_class.Get()); // needs descriptor 1931 mirror::Class* ClassLinker::EnsureResolved(Thread* self, const char* descriptor, argument 1955 klass = LookupClass(descriptor, h_class.Get()->GetClassLoader()); 1987 // Search a collection of DexFiles for a descriptor 1988 ClassPathEntry FindInClassPath(const char* descriptor, argument 1992 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor); 2003 Thread* self, const char* descriptor, 2011 ClassPathEntry pair = FindInClassPath(descriptor, boot_class_path_); 2014 mirror::Class* klass = LookupClass(descriptor, nullptr); 2016 return EnsureResolved(self, descriptor, klas 2002 FindClassInPathClassLoader(ScopedObjectAccessAlreadyRunnable& soa, Thread* self, const char* descriptor, Handle<mirror::ClassLoader> class_loader) argument 2087 FindClass(Thread* self, const char* descriptor, Handle<mirror::ClassLoader> class_loader) argument 2185 DefineClass(const char* descriptor, Handle<mirror::ClassLoader> class_loader, const DexFile& dex_file, const DexFile::ClassDef& dex_class_def) argument 2304 const char* descriptor = dex_file.GetFieldTypeDescriptor(field_id); local 2698 const char* descriptor = dex_file.GetClassDescriptor(dex_class_def); local 3037 const char* descriptor = Primitive::Descriptor(type); local 3056 CreateArrayClass(Thread* self, const char* descriptor, Handle<mirror::ClassLoader> class_loader) argument 3221 InsertClass(const char* descriptor, mirror::Class* klass, size_t hash) argument 3255 UpdateClass(const char* descriptor, mirror::Class* klass, size_t hash) argument 3299 RemoveClass(const char* descriptor, const mirror::ClassLoader* class_loader) argument 3314 LookupClass(const char* descriptor, const mirror::ClassLoader* class_loader) argument 3344 LookupClassFromTableLocked(const char* descriptor, const mirror::ClassLoader* class_loader, size_t hash) argument 3392 const char* descriptor = klass->GetDescriptor(&temp); local 3411 LookupClassFromImage(const char* descriptor) argument 3438 LookupClasses(const char* descriptor, std::vector<mirror::Class*>& result) argument 4366 LinkClass(Thread* self, const char* descriptor, Handle<mirror::Class> klass, Handle<mirror::ObjectArray<mirror::Class>> interfaces, mirror::Class** new_class) argument 5195 const char* descriptor = dex_file.StringByTypeIdx(type_idx); local [all...] |
H A D | class_linker-inl.h | 32 inline mirror::Class* ClassLinker::FindSystemClass(Thread* self, const char* descriptor) { argument 33 return FindClass(self, descriptor, NullHandle<mirror::ClassLoader>()); 45 std::string descriptor = "["; local 47 descriptor += (*element_class)->GetDescriptor(&temp); 51 mirror::Class* array_class = FindClass(self, descriptor.c_str(), class_loader);
|
H A D | dex_file_verifier.cc | 137 bool DexFileVerifier::CheckShortyDescriptorMatch(char shorty_char, const char* descriptor, argument 154 if (UNLIKELY((descriptor[0] != shorty_char) || (descriptor[1] != '\0'))) { 156 shorty_char, descriptor); 161 if (UNLIKELY((descriptor[0] != 'L') && (descriptor[0] != '['))) { 162 ErrorStringPrintf("Shorty vs. type mismatch: '%c', '%s'", shorty_char, descriptor); 1493 LOAD_STRING(descriptor, item->descriptor_idx_, "inter_type_id_item descriptor_idx") 1495 // Check that the descriptor is a valid type. 1496 if (UNLIKELY(!IsValidDescriptor(descriptor))) { 1538 const char* descriptor = it.GetDescriptor(); local [all...] |
H A D | class_linker_test.cc | 47 void AssertNonExistentClass(const std::string& descriptor) 50 EXPECT_TRUE(class_linker_->FindSystemClass(self, descriptor.c_str()) == NULL); 59 void AssertPrimitiveClass(const std::string& descriptor) 62 AssertPrimitiveClass(descriptor, class_linker_->FindSystemClass(self, descriptor.c_str())); 65 void AssertPrimitiveClass(const std::string& descriptor, mirror::Class* primitive) 72 ASSERT_STREQ(descriptor.c_str(), primitive->GetDescriptor(&temp)); 189 void AssertClass(const std::string& descriptor, Handle<mirror::Class> klass) 192 EXPECT_STREQ(descriptor.c_str(), klass->GetDescriptor(&temp)); 193 if (descriptor 338 const char* descriptor = dex->GetClassDescriptor(class_def); local 344 const char* descriptor = dex->GetTypeDescriptor(type_id); local 665 std::string descriptor; local [all...] |
H A D | dex_file.cc | 416 const DexFile::ClassDef* DexFile::FindClassDef(const char* descriptor) const { 417 // If we have an index lookup the descriptor via that as its constant time to search. 420 auto it = index->find(descriptor); 429 const StringId* string_id = FindStringId(descriptor); 455 const char* descriptor = GetClassDescriptor(class_def); local 456 index->insert(std::make_pair(descriptor, &class_def)); 654 if (offset >= end) { // expect some descriptor following [ 662 if (offset >= end) { // unexpected early termination of descriptor 670 std::string descriptor(signature.data() + start_offset, offset - start_offset); 671 const DexFile::StringId* string_id = FindStringId(descriptor 765 const char* descriptor = GetMethodDeclaringClassDescriptor(GetMethodId(method_idx)); local 783 const char* descriptor = it.GetDescriptor(); local [all...] |
H A D | dex_file_verifier.h | 44 bool CheckShortyDescriptorMatch(char shorty_char, const char* descriptor, bool is_return_type);
|
H A D | utils.h | 276 // Returns a human-readable equivalent of 'descriptor'. So "I" would be "int", 279 std::string PrettyDescriptor(mirror::String* descriptor) 281 std::string PrettyDescriptor(const char* descriptor); 345 std::string DescriptorToDot(const char* descriptor); 349 std::string DescriptorToName(const char* descriptor);
|
/art/compiler/driver/ |
H A D | compiler_driver.cc | 521 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 523 mirror::Class* klass = class_linker->FindClass(self, descriptor, class_loader); 623 bool CompilerDriver::IsImageClass(const char* descriptor) const { 627 return image_classes_->find(descriptor) != image_classes_->end(); 709 const std::string& descriptor(*it); 712 hs.NewHandle(class_linker->FindSystemClass(self, descriptor.c_str()))); 714 VLOG(compiler) << "Failed to find class " << descriptor; 743 const char* descriptor = dex_file->GetTypeDescriptor(type_id); local 744 LOG(FATAL) << "Failed to resolve class " << descriptor; 768 const char* descriptor local 1485 const char* descriptor = exception->GetClass()->GetDescriptor(&temp); local 1683 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 1740 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 1785 const char* descriptor = dex_file.StringDataByIdx(class_type_id.descriptor_idx_); local 1911 const char* descriptor = dex_file.GetClassDescriptor(class_def); local [all...] |
H A D | compiler_driver_test.cc | 82 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 87 mirror::Class* c = class_linker->FindClass(soa.Self(), descriptor, loader);
|
/art/runtime/mirror/ |
H A D | class.cc | 173 const char* descriptor = h_this->GetDescriptor(&temp); local 175 if ((descriptor[0] != 'L') && (descriptor[0] != '[')) { 176 // The descriptor indicates that this is the class for 179 switch (descriptor[0]) { 190 LOG(FATAL) << "Unknown primitive type: " << PrintableChar(descriptor[0]); 196 name = String::AllocFromModifiedUtf8(self, DescriptorToDot(descriptor).c_str()); 341 // Compare the package part of the descriptor string.
|