Lines Matching refs:klass
43 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); in CheckObjectAlloc() local
44 if (UNLIKELY(klass == NULL)) { in CheckObjectAlloc()
45 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in CheckObjectAlloc()
47 if (klass == NULL) { in CheckObjectAlloc()
55 if (UNLIKELY(!klass->IsInstantiable())) { in CheckObjectAlloc()
58 PrettyDescriptor(klass).c_str()); in CheckObjectAlloc()
63 if (UNLIKELY(!referrer->CanAccess(klass))) { in CheckObjectAlloc()
64 ThrowIllegalAccessErrorClass(referrer, klass); in CheckObjectAlloc()
69 if (UNLIKELY(!klass->IsInitialized())) { in CheckObjectAlloc()
71 Handle<mirror::Class> h_klass(hs.NewHandle(klass)); in CheckObjectAlloc()
89 return klass; in CheckObjectAlloc()
93 static inline mirror::Class* CheckClassInitializedForObjectAlloc(mirror::Class* klass, in CheckClassInitializedForObjectAlloc() argument
96 if (UNLIKELY(!klass->IsInitialized())) { in CheckClassInitializedForObjectAlloc()
98 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in CheckClassInitializedForObjectAlloc()
114 return klass; in CheckClassInitializedForObjectAlloc()
128 mirror::Class* klass = CheckObjectAlloc<kAccessCheck>(type_idx, method, self, &slow_path); in AllocObjectFromCode() local
130 if (klass == nullptr) { in AllocObjectFromCode()
133 return klass->Alloc<kInstrumented>(self, Runtime::Current()->GetHeap()->GetCurrentAllocator()); in AllocObjectFromCode()
135 DCHECK(klass != nullptr); in AllocObjectFromCode()
136 return klass->Alloc<kInstrumented>(self, allocator_type); in AllocObjectFromCode()
142 static inline mirror::Object* AllocObjectFromCodeResolved(mirror::Class* klass, in AllocObjectFromCodeResolved() argument
146 DCHECK(klass != nullptr); in AllocObjectFromCodeResolved()
148 klass = CheckClassInitializedForObjectAlloc(klass, self, &slow_path); in AllocObjectFromCodeResolved()
150 if (klass == nullptr) { in AllocObjectFromCodeResolved()
155 return klass->Alloc<kInstrumented, false>(self, heap->GetCurrentAllocator()); in AllocObjectFromCodeResolved()
158 return klass->Alloc<kInstrumented, false>(self, allocator_type); in AllocObjectFromCodeResolved()
164 static inline mirror::Object* AllocObjectFromCodeInitialized(mirror::Class* klass, in AllocObjectFromCodeInitialized() argument
168 DCHECK(klass != nullptr); in AllocObjectFromCodeInitialized()
170 return klass->Alloc<kInstrumented, false>(self, allocator_type); in AllocObjectFromCodeInitialized()
185 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); in CheckArrayAlloc() local
186 if (UNLIKELY(klass == nullptr)) { // Not in dex cache so try to resolve in CheckArrayAlloc()
187 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in CheckArrayAlloc()
189 if (klass == nullptr) { // Error in CheckArrayAlloc()
193 CHECK(klass->IsArrayClass()) << PrettyClass(klass); in CheckArrayAlloc()
197 if (UNLIKELY(!referrer->CanAccess(klass))) { in CheckArrayAlloc()
198 ThrowIllegalAccessErrorClass(referrer, klass); in CheckArrayAlloc()
203 return klass; in CheckArrayAlloc()
218 mirror::Class* klass = CheckArrayAlloc<kAccessCheck>(type_idx, method, component_count, in AllocArrayFromCode() local
221 if (klass == nullptr) { in AllocArrayFromCode()
225 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count, in AllocArrayFromCode()
226 klass->GetComponentSize(), in AllocArrayFromCode()
229 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count, in AllocArrayFromCode()
230 klass->GetComponentSize(), allocator_type); in AllocArrayFromCode()
234 static inline mirror::Array* AllocArrayFromCodeResolved(mirror::Class* klass, in AllocArrayFromCodeResolved() argument
239 DCHECK(klass != nullptr); in AllocArrayFromCodeResolved()
246 if (UNLIKELY(!referrer->CanAccess(klass))) { in AllocArrayFromCodeResolved()
247 ThrowIllegalAccessErrorClass(referrer, klass); in AllocArrayFromCodeResolved()
253 return mirror::Array::Alloc<kInstrumented>(self, klass, component_count, in AllocArrayFromCodeResolved()
254 klass->GetComponentSize(), allocator_type); in AllocArrayFromCodeResolved()
397 mirror::Class* klass = (*this_object)->GetClass(); in FindMethodFromCode() local
400 (!klass->HasVTable() || in FindMethodFromCode()
401 vtable_index >= static_cast<uint32_t>(klass->GetVTableLength()))) { in FindMethodFromCode()
407 DCHECK(klass->HasVTable()) << PrettyClass(klass); in FindMethodFromCode()
408 return klass->GetVTableEntry(vtable_index); in FindMethodFromCode()
574 mirror::Class* klass = class_linker->ResolveType(type_idx, referrer); in ResolveVerifyAndClinit() local
575 if (UNLIKELY(klass == nullptr)) { in ResolveVerifyAndClinit()
581 if (verify_access && UNLIKELY(!referring_class->CanAccess(klass))) { in ResolveVerifyAndClinit()
582 ThrowIllegalAccessErrorClass(referring_class, klass); in ResolveVerifyAndClinit()
587 return klass; in ResolveVerifyAndClinit()
593 if (klass == referring_class && referrer->IsConstructor() && referrer->IsStatic()) { in ResolveVerifyAndClinit()
594 return klass; in ResolveVerifyAndClinit()
597 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in ResolveVerifyAndClinit()