/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 | 825 const char* descriptor = dex_file_->StringByTypeIdx(idx); local 826 if (descriptor[0] != 'L') { 827 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "can't call new-instance on type '" << descriptor << "'"; 858 const char* descriptor = dex_file_->StringByTypeIdx(idx); local 859 const char* cp = descriptor; 866 << "can't new-array class '" << descriptor << "' (not an array)"; 871 << "can't new-array class '" << descriptor << "' (exceeds limit)"; 1175 static bool IsPrimitiveDescriptor(char descriptor) { argument 1176 switch (descriptor) { 1218 const char* descriptor local 1224 << " args, found more (" << descriptor << ")"; local 1265 << " args, found more (" << descriptor << ")"; local 1287 const char* descriptor = dex_file_->GetReturnTypeDescriptor(proto_id); local 2247 const char* descriptor = dex_file_->StringByTypeIdx(return_type_idx); local 2348 const char* descriptor; local 2406 const char* descriptor; local 2680 const char* descriptor = called_method->GetReturnTypeDescriptor(); local 2966 const char* descriptor = dex_file_->StringByTypeIdx(class_idx); local 3455 const char* descriptor = local 3801 const char* descriptor = dex_file_->GetFieldTypeDescriptor(field_id); local 4111 const char* descriptor = dex_file_->GetTypeDescriptor(dex_file_->GetTypeId(return_type_idx)); local 4121 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/runtime/native/ |
H A D | java_lang_VMClassLoader.cc | 35 std::string descriptor(DotToDescriptor(name.c_str())); 36 const size_t descriptor_hash = ComputeModifiedUtf8Hash(descriptor.c_str()); 37 mirror::Class* c = cl->LookupClass(descriptor.c_str(), descriptor_hash, loader); 44 c = cl->FindClassInPathClassLoader(soa, soa.Self(), descriptor.c_str(), descriptor_hash,
|
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())); 182 const size_t hash(ComputeModifiedUtf8Hash(descriptor.c_str())); 184 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor.c_str(), hash); 192 mirror::Class* result = class_linker->DefineClass(soa.Self(), descriptor.c_str(), hash, 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/compiler/ |
H A D | image_test.cc | 176 const char* descriptor = dex->GetClassDescriptor(class_def); local 177 mirror::Class* klass = class_linker_->FindSystemClass(soa.Self(), descriptor); 178 EXPECT_TRUE(klass != nullptr) << descriptor; 179 if (image_classes.find(descriptor) != image_classes.end()) { 181 EXPECT_LT(image_begin, reinterpret_cast<byte*>(klass)) << descriptor; 182 EXPECT_LT(reinterpret_cast<byte*>(klass), image_end) << descriptor; local 185 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/ |
H A D | class_linker.h | 73 // Finds a class by its descriptor, loading it if necessary. 75 mirror::Class* FindClass(Thread* self, const char* descriptor, 80 // be ComputeModifiedUtf8Hash(descriptor). 82 Thread* self, const char* descriptor, size_t hash, 86 // Finds a class by its descriptor using the "system" class loader, ie by searching the 88 mirror::Class* FindSystemClass(Thread* self, const char* descriptor) 99 mirror::Class* DefineClass(Thread* self, const char* descriptor, size_t hash, 104 // Finds a class by its descriptor, returning NULL if it isn't wasn't loaded 106 mirror::Class* LookupClass(const char* descriptor, size_t hash, 111 // Finds all the classes with the given descriptor, regardles 797 const char* descriptor = class_roots_descriptors_[class_root]; local [all...] |
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.cc | 360 SetClassRoot(kPrimitiveChar, char_class.Get()); // needs descriptor 1962 mirror::Class* ClassLinker::EnsureResolved(Thread* self, const char* descriptor, argument 1986 klass = LookupClass(descriptor, ComputeModifiedUtf8Hash(descriptor), 2019 // Search a collection of DexFiles for a descriptor 2020 ClassPathEntry FindInClassPath(const char* descriptor, argument 2023 const DexFile::ClassDef* dex_class_def = dex_file->FindClassDef(descriptor, hash); 2032 Thread* self, const char* descriptor, 2041 ClassPathEntry pair = FindInClassPath(descriptor, hash, boot_class_path_); 2044 mirror::Class* klass = LookupClass(descriptor, has 2031 FindClassInPathClassLoader(ScopedObjectAccessAlreadyRunnable& soa, Thread* self, const char* descriptor, size_t hash, Handle<mirror::ClassLoader> class_loader) argument 2117 FindClass(Thread* self, const char* descriptor, Handle<mirror::ClassLoader> class_loader) argument 2218 DefineClass(Thread* self, const char* descriptor, size_t hash, Handle<mirror::ClassLoader> class_loader, const DexFile& dex_file, const DexFile::ClassDef& dex_class_def) argument 2331 const char* descriptor = dex_file.GetFieldTypeDescriptor(field_id); local 2734 const char* descriptor = dex_file.GetClassDescriptor(dex_class_def); local 3073 const char* descriptor = Primitive::Descriptor(type); local 3093 CreateArrayClass(Thread* self, const char* descriptor, size_t hash, Handle<mirror::ClassLoader> class_loader) argument 3263 InsertClass(const char* descriptor, mirror::Class* klass, size_t hash) argument 3296 UpdateClass(const char* descriptor, mirror::Class* klass, size_t hash) argument 3332 RemoveClass(const char* descriptor, mirror::ClassLoader* class_loader) argument 3348 LookupClass(const char* descriptor, size_t hash, mirror::ClassLoader* class_loader) argument 3377 LookupClassFromTableLocked(const char* descriptor, mirror::ClassLoader* class_loader, size_t hash) argument 3416 const char* descriptor = klass->GetDescriptor(&temp); local 3442 LookupClassFromImage(const char* descriptor) argument 3469 LookupClasses(const char* descriptor, std::vector<mirror::Class*>& result) argument 4438 LinkClass(Thread* self, const char* descriptor, Handle<mirror::Class> klass, Handle<mirror::ObjectArray<mirror::Class>> interfaces, mirror::Class** new_class) argument 5646 const char* descriptor = dex_file.StringByTypeIdx(type_idx); local 5992 operator ()(const GcRoot<mirror::Class>& a, const char* descriptor) argument [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 | dex_file.cc | 422 const DexFile::ClassDef* DexFile::FindClassDef(const char* descriptor, size_t hash) const { argument 423 DCHECK_EQ(ComputeModifiedUtf8Hash(descriptor), hash); 424 // If we have an index lookup the descriptor via that as its constant time to search. 427 auto it = index->FindWithHash(descriptor, hash); 436 const StringId* string_id = FindStringId(descriptor); 462 const char* descriptor = GetClassDescriptor(class_def); local 463 index->Insert(std::make_pair(descriptor, &class_def)); 661 if (offset >= end) { // expect some descriptor following [ 669 if (offset >= end) { // unexpected early termination of descriptor 677 std::string descriptor(signatur 772 const char* descriptor = GetMethodDeclaringClassDescriptor(GetMethodId(method_idx)); local 790 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)); 186 void AssertClass(const std::string& descriptor, Handle<mirror::Class> klass) 189 EXPECT_STREQ(descriptor.c_str(), klass->GetDescriptor(&temp)); 190 if (descriptor 349 const char* descriptor = dex->GetClassDescriptor(class_def); local 355 const char* descriptor = dex->GetTypeDescriptor(type_id); local 645 std::string descriptor; 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 | 317 // Returns a human-readable equivalent of 'descriptor'. So "I" would be "int", 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/ |
H A D | compiler_driver.cc | 522 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 524 mirror::Class* klass = class_linker->FindClass(self, descriptor, class_loader); 629 bool CompilerDriver::IsImageClass(const char* descriptor) const { 633 return image_classes_->find(descriptor) != image_classes_->end(); 637 bool CompilerDriver::IsClassToCompile(const char* descriptor) const { 644 return classes_to_compile_->find(descriptor) != classes_to_compile_->end(); 726 const std::string& descriptor(*it); 729 hs.NewHandle(class_linker->FindSystemClass(self, descriptor.c_str()))); 731 VLOG(compiler) << "Failed to find class " << descriptor; 760 const char* descriptor local 785 const char* descriptor = klass->GetDescriptor(&temp); local 1572 const char* descriptor = exception->GetClass()->GetDescriptor(&temp); local 1770 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 1827 const char* descriptor = dex_file.GetClassDescriptor(class_def); local 1872 const char* descriptor = dex_file.StringDataByIdx(class_type_id.descriptor_idx_); local 1999 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 | 172 const char* descriptor = h_this->GetDescriptor(&temp); local 174 if ((descriptor[0] != 'L') && (descriptor[0] != '[')) { 175 // The descriptor indicates that this is the class for 178 switch (descriptor[0]) { 189 LOG(FATAL) << "Unknown primitive type: " << PrintableChar(descriptor[0]); 195 name = String::AllocFromModifiedUtf8(self, DescriptorToDot(descriptor).c_str()); 340 // Compare the package part of the descriptor string.
|