Lines Matching refs:klass

96   mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx, pointer_size);
97 if (UNLIKELY(klass == nullptr)) {
98 klass = class_linker->ResolveType(type_idx, method);
100 if (klass == nullptr) {
108 if (UNLIKELY(!klass->IsInstantiable())) {
109 self->ThrowNewException("Ljava/lang/InstantiationError;", PrettyDescriptor(klass).c_str());
114 if (UNLIKELY(!referrer->CanAccess(klass))) {
115 ThrowIllegalAccessErrorClass(referrer, klass);
120 if (UNLIKELY(!klass->IsInitialized())) {
122 Handle<mirror::Class> h_klass(hs.NewHandle(klass));
140 return klass;
144 inline mirror::Class* CheckClassInitializedForObjectAlloc(mirror::Class* klass,
147 if (UNLIKELY(!klass->IsInitialized())) {
149 Handle<mirror::Class> h_class(hs.NewHandle(klass));
165 return klass;
179 mirror::Class* klass = CheckObjectAlloc<kAccessCheck>(type_idx, method, self, &slow_path);
181 if (klass == nullptr) {
185 return klass->Alloc</*kInstrumented*/true>(
189 DCHECK(klass != nullptr);
190 return klass->Alloc<kInstrumented>(self, allocator_type);
196 inline mirror::Object* AllocObjectFromCodeResolved(mirror::Class* klass,
199 DCHECK(klass != nullptr);
201 klass = CheckClassInitializedForObjectAlloc(klass, self, &slow_path);
203 if (klass == nullptr) {
210 return klass->Alloc</*kInstrumented*/true, false>(self, heap->GetCurrentAllocator());
213 return klass->Alloc<kInstrumented, false>(self, allocator_type);
219 inline mirror::Object* AllocObjectFromCodeInitialized(mirror::Class* klass,
222 DCHECK(klass != nullptr);
224 return klass->Alloc<kInstrumented, false>(self, allocator_type);
241 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx, pointer_size);
242 if (UNLIKELY(klass == nullptr)) { // Not in dex cache so try to resolve
243 klass = class_linker->ResolveType(type_idx, method);
245 if (klass == nullptr) { // Error
249 CHECK(klass->IsArrayClass()) << PrettyClass(klass);
253 if (UNLIKELY(!referrer->CanAccess(klass))) {
254 ThrowIllegalAccessErrorClass(referrer, klass);
259 return klass;
274 mirror::Class* klass = CheckArrayAlloc<kAccessCheck>(type_idx, component_count, method,
277 if (klass == nullptr) {
283 klass,
285 klass->GetComponentSizeShift(),
288 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count,
289 klass->GetComponentSizeShift(), allocator_type);
294 inline mirror::Array* AllocArrayFromCodeResolved(mirror::Class* klass,
299 DCHECK(klass != nullptr);
306 if (UNLIKELY(!referrer->CanAccess(klass))) {
307 ThrowIllegalAccessErrorClass(referrer, klass);
313 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count,
314 klass->GetComponentSizeShift(), allocator_type);
490 mirror::Class* klass = (*this_object)->GetClass();
493 (!klass->HasVTable() ||
494 vtable_index >= static_cast<uint32_t>(klass->GetVTableLength()))) {
500 DCHECK(klass->HasVTable()) << PrettyClass(klass);
501 return klass->GetVTableEntry(vtable_index, class_linker->GetImagePointerSize());
568 mirror::Class* klass = (*this_object)->GetClass();
569 ArtMethod* method = klass->FindVirtualMethodForInterface(
573 PrettyClass(klass);
729 mirror::Class* klass = class_linker->ResolveType(type_idx, referrer);
730 if (UNLIKELY(klass == nullptr)) {
736 if (verify_access && UNLIKELY(!referring_class->CanAccess(klass))) {
737 ThrowIllegalAccessErrorClass(referring_class, klass);
742 return klass;
748 if (klass == referring_class && referrer->IsConstructor() && referrer->IsStatic()) {
749 return klass;
752 Handle<mirror::Class> h_class(hs.NewHandle(klass));