Lines Matching refs:klass

119 inline ObjPtr<mirror::Class> CheckClassInitializedForObjectAlloc(ObjPtr<mirror::Class> klass,  in CheckClassInitializedForObjectAlloc()  argument
124 if (UNLIKELY(!klass->IsVisiblyInitialized())) { in CheckClassInitializedForObjectAlloc()
126 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in CheckClassInitializedForObjectAlloc()
144 return klass; in CheckClassInitializedForObjectAlloc()
147 ALWAYS_INLINE inline ObjPtr<mirror::Class> CheckObjectAlloc(ObjPtr<mirror::Class> klass, in CheckObjectAlloc() argument
152 if (UNLIKELY(!klass->IsInstantiable())) { in CheckObjectAlloc()
153 self->ThrowNewException("Ljava/lang/InstantiationError;", klass->PrettyDescriptor().c_str()); in CheckObjectAlloc()
157 if (UNLIKELY(klass->IsClassClass())) { in CheckObjectAlloc()
159 klass->PrettyDescriptor().c_str()); in CheckObjectAlloc()
163 return CheckClassInitializedForObjectAlloc(klass, self, slow_path); in CheckObjectAlloc()
170 inline ObjPtr<mirror::Object> AllocObjectFromCode(ObjPtr<mirror::Class> klass, in AllocObjectFromCode() argument
174 klass = CheckObjectAlloc(klass, self, &slow_path); in AllocObjectFromCode()
176 if (klass == nullptr) { in AllocObjectFromCode()
180 return klass->Alloc</*kInstrumented=*/true>( in AllocObjectFromCode()
184 DCHECK(klass != nullptr); in AllocObjectFromCode()
185 return klass->Alloc<kInstrumented>(self, allocator_type); in AllocObjectFromCode()
191 inline ObjPtr<mirror::Object> AllocObjectFromCodeResolved(ObjPtr<mirror::Class> klass, in AllocObjectFromCodeResolved() argument
194 DCHECK(klass != nullptr); in AllocObjectFromCodeResolved()
196 klass = CheckClassInitializedForObjectAlloc(klass, self, &slow_path); in AllocObjectFromCodeResolved()
198 if (klass == nullptr) { in AllocObjectFromCodeResolved()
205 return klass->Alloc</*kInstrumented=*/true, mirror::Class::AddFinalizer::kNoAddFinalizer>( in AllocObjectFromCodeResolved()
209 return klass->Alloc<kInstrumented, in AllocObjectFromCodeResolved()
216 inline ObjPtr<mirror::Object> AllocObjectFromCodeInitialized(ObjPtr<mirror::Class> klass, in AllocObjectFromCodeInitialized() argument
219 DCHECK(klass != nullptr); in AllocObjectFromCodeInitialized()
221 return klass->Alloc<kInstrumented, in AllocObjectFromCodeInitialized()
237 ObjPtr<mirror::Class> klass = method->GetDexCache()->GetResolvedType(type_idx); in CheckArrayAlloc() local
238 if (UNLIKELY(klass == nullptr)) { // Not in dex cache so try to resolve in CheckArrayAlloc()
240 klass = class_linker->ResolveType(type_idx, method); in CheckArrayAlloc()
242 if (klass == nullptr) { // Error in CheckArrayAlloc()
246 CHECK(klass->IsArrayClass()) << klass->PrettyClass(); in CheckArrayAlloc()
250 if (UNLIKELY(!referrer->CanAccess(klass))) { in CheckArrayAlloc()
251 ThrowIllegalAccessErrorClass(referrer, klass); in CheckArrayAlloc()
256 return klass; in CheckArrayAlloc()
271 ObjPtr<mirror::Class> klass = in AllocArrayFromCode() local
274 if (klass == nullptr) { in AllocArrayFromCode()
280 klass, in AllocArrayFromCode()
282 klass->GetComponentSizeShift(), in AllocArrayFromCode()
286 klass, in AllocArrayFromCode()
288 klass->GetComponentSizeShift(), in AllocArrayFromCode()
294 inline ObjPtr<mirror::Array> AllocArrayFromCodeResolved(ObjPtr<mirror::Class> klass, in AllocArrayFromCodeResolved() argument
298 DCHECK(klass != nullptr); in AllocArrayFromCodeResolved()
306 klass, in AllocArrayFromCodeResolved()
308 klass->GetComponentSizeShift(), in AllocArrayFromCodeResolved()
453 ObjPtr<mirror::Class> klass = (*this_object)->GetClass(); in FindMethodToCall() local
456 (!klass->HasVTable() || in FindMethodToCall()
457 vtable_index >= static_cast<uint32_t>(klass->GetVTableLength()))) { in FindMethodToCall()
463 DCHECK(klass->HasVTable()) << klass->PrettyClass(); in FindMethodToCall()
464 return klass->GetVTableEntry(vtable_index, class_linker->GetImagePointerSize()); in FindMethodToCall()
532 ObjPtr<mirror::Class> klass = (*this_object)->GetClass(); in FindMethodToCall() local
533 ArtMethod* imt_method = klass->GetImt(pointer_size)->Get(imt_index, pointer_size); in FindMethodToCall()
536 ArtMethod* method = klass->FindVirtualMethodForInterface( in FindMethodToCall()
541 << klass->PrettyClass(); in FindMethodToCall()
545 ArtMethod* interface_method = klass->FindVirtualMethodForInterface( in FindMethodToCall()
707 ObjPtr<mirror::Class> klass = class_linker->ResolveType(type_idx, referrer); in ResolveVerifyAndClinit() local
708 if (UNLIKELY(klass == nullptr)) { in ResolveVerifyAndClinit()
714 if (verify_access && UNLIKELY(!referring_class->CanAccess(klass))) { in ResolveVerifyAndClinit()
715 ThrowIllegalAccessErrorClass(referring_class, klass); in ResolveVerifyAndClinit()
720 return klass; in ResolveVerifyAndClinit()
726 if (klass == referring_class && referrer->IsConstructor() && referrer->IsStatic()) { in ResolveVerifyAndClinit()
727 return klass; in ResolveVerifyAndClinit()
730 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in ResolveVerifyAndClinit()