Lines Matching refs:klass
117 ALWAYS_INLINE inline ObjPtr<mirror::Class> CheckObjectAlloc(ObjPtr<mirror::Class> klass, in CheckObjectAlloc() argument
122 if (UNLIKELY(!klass->IsInstantiable())) { in CheckObjectAlloc()
123 self->ThrowNewException("Ljava/lang/InstantiationError;", klass->PrettyDescriptor().c_str()); in CheckObjectAlloc()
127 if (UNLIKELY(klass->IsClassClass())) { in CheckObjectAlloc()
129 klass->PrettyDescriptor().c_str()); in CheckObjectAlloc()
133 if (UNLIKELY(!klass->IsInitialized())) { in CheckObjectAlloc()
135 Handle<mirror::Class> h_klass(hs.NewHandle(klass)); in CheckObjectAlloc()
153 return klass; in CheckObjectAlloc()
157 inline ObjPtr<mirror::Class> CheckClassInitializedForObjectAlloc(ObjPtr<mirror::Class> klass, in CheckClassInitializedForObjectAlloc() argument
162 if (UNLIKELY(!klass->IsInitialized())) { in CheckClassInitializedForObjectAlloc()
164 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in CheckClassInitializedForObjectAlloc()
180 return klass; in CheckClassInitializedForObjectAlloc()
187 inline ObjPtr<mirror::Object> AllocObjectFromCode(ObjPtr<mirror::Class> klass, in AllocObjectFromCode() argument
191 klass = CheckObjectAlloc(klass, self, &slow_path); in AllocObjectFromCode()
193 if (klass == nullptr) { in AllocObjectFromCode()
197 return klass->Alloc</*kInstrumented=*/true>( in AllocObjectFromCode()
201 DCHECK(klass != nullptr); in AllocObjectFromCode()
202 return klass->Alloc<kInstrumented>(self, allocator_type); in AllocObjectFromCode()
208 inline ObjPtr<mirror::Object> AllocObjectFromCodeResolved(ObjPtr<mirror::Class> klass, in AllocObjectFromCodeResolved() argument
211 DCHECK(klass != nullptr); in AllocObjectFromCodeResolved()
213 klass = CheckClassInitializedForObjectAlloc(klass, self, &slow_path); in AllocObjectFromCodeResolved()
215 if (klass == nullptr) { in AllocObjectFromCodeResolved()
222 return klass->Alloc</*kInstrumented=*/true, false>(self, heap->GetCurrentAllocator()); in AllocObjectFromCodeResolved()
225 return klass->Alloc<kInstrumented, false>(self, allocator_type); in AllocObjectFromCodeResolved()
231 inline ObjPtr<mirror::Object> AllocObjectFromCodeInitialized(ObjPtr<mirror::Class> klass, in AllocObjectFromCodeInitialized() argument
234 DCHECK(klass != nullptr); in AllocObjectFromCodeInitialized()
236 return klass->Alloc<kInstrumented, false>(self, allocator_type); in AllocObjectFromCodeInitialized()
251 ObjPtr<mirror::Class> klass = method->GetDexCache()->GetResolvedType(type_idx); in CheckArrayAlloc() local
252 if (UNLIKELY(klass == nullptr)) { // Not in dex cache so try to resolve in CheckArrayAlloc()
254 klass = class_linker->ResolveType(type_idx, method); in CheckArrayAlloc()
256 if (klass == nullptr) { // Error in CheckArrayAlloc()
260 CHECK(klass->IsArrayClass()) << klass->PrettyClass(); in CheckArrayAlloc()
264 if (UNLIKELY(!referrer->CanAccess(klass))) { in CheckArrayAlloc()
265 ThrowIllegalAccessErrorClass(referrer, klass); in CheckArrayAlloc()
270 return klass; in CheckArrayAlloc()
285 ObjPtr<mirror::Class> klass = in AllocArrayFromCode() local
288 if (klass == nullptr) { in AllocArrayFromCode()
294 klass, in AllocArrayFromCode()
296 klass->GetComponentSizeShift(), in AllocArrayFromCode()
299 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count, in AllocArrayFromCode()
300 klass->GetComponentSizeShift(), allocator_type); in AllocArrayFromCode()
305 inline ObjPtr<mirror::Array> AllocArrayFromCodeResolved(ObjPtr<mirror::Class> klass, in AllocArrayFromCodeResolved() argument
309 DCHECK(klass != nullptr); in AllocArrayFromCodeResolved()
316 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count, in AllocArrayFromCodeResolved()
317 klass->GetComponentSizeShift(), allocator_type); in AllocArrayFromCodeResolved()
459 ObjPtr<mirror::Class> klass = (*this_object)->GetClass(); in FindMethodToCall() local
462 (!klass->HasVTable() || in FindMethodToCall()
463 vtable_index >= static_cast<uint32_t>(klass->GetVTableLength()))) { in FindMethodToCall()
469 DCHECK(klass->HasVTable()) << klass->PrettyClass(); in FindMethodToCall()
470 return klass->GetVTableEntry(vtable_index, class_linker->GetImagePointerSize()); in FindMethodToCall()
538 ObjPtr<mirror::Class> klass = (*this_object)->GetClass(); in FindMethodToCall() local
539 ArtMethod* imt_method = klass->GetImt(pointer_size)->Get(imt_index, pointer_size); in FindMethodToCall()
542 ArtMethod* method = klass->FindVirtualMethodForInterface( in FindMethodToCall()
547 << klass->PrettyClass(); in FindMethodToCall()
551 ArtMethod* interface_method = klass->FindVirtualMethodForInterface( in FindMethodToCall()
713 ObjPtr<mirror::Class> klass = class_linker->ResolveType(type_idx, referrer); in ResolveVerifyAndClinit() local
714 if (UNLIKELY(klass == nullptr)) { in ResolveVerifyAndClinit()
720 if (verify_access && UNLIKELY(!referring_class->CanAccess(klass))) { in ResolveVerifyAndClinit()
721 ThrowIllegalAccessErrorClass(referring_class, klass); in ResolveVerifyAndClinit()
726 return klass; in ResolveVerifyAndClinit()
732 if (klass == referring_class && referrer->IsConstructor() && referrer->IsStatic()) { in ResolveVerifyAndClinit()
733 return klass; in ResolveVerifyAndClinit()
736 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in ResolveVerifyAndClinit()