Searched refs:descriptor (Results 1 - 25 of 39) sorted by relevance

12

/art/runtime/verifier/
H A Dmethod_verifier_test.cc32 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 Dreg_type.h276 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 Dreg_type_cache.cc39 // 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 Dreg_type.cc67 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 Dreg_type_cache.h55 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 Dmethod_verifier.cc825 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 Dtype_inference.cc23 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 Dtype_inference.h43 // Returns true if @descriptor corresponds to a primitive type.
44 static bool IsPrimitiveDescriptor(char descriptor);
/art/runtime/native/
H A Djava_lang_VMClassLoader.cc35 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 Djava_lang_Class.cc62 std::string descriptor(DotToDescriptor(name.c_str()));
67 hs.NewHandle(class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader)));
H A Ddalvik_system_DexFile.cc181 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 Dimage_test.cc176 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 Doat_test.cc162 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 Dclass_linker.h73 // 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 Dutils.cc243 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 Dclass_linker.cc360 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 Dclass_linker-inl.h32 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 Ddex_file_verifier.cc137 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 Ddex_file.cc422 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 Dclass_linker_test.cc47 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 Ddex_file_verifier.h44 bool CheckShortyDescriptorMatch(char shorty_char, const char* descriptor, bool is_return_type);
H A Dutils.h317 // 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 Dcompiler_driver.cc522 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 Dcompiler_driver_test.cc82 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 Dclass.cc172 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.

Completed in 933 milliseconds

12