Home
last modified time | relevance | path

Searched refs:resolved_field (Results 1 – 11 of 11) sorted by relevance

/art/dex2oat/driver/
Dcompiler_driver-inl.h70 ArtField* resolved_field = Runtime::Current()->GetClassLinker()->ResolveField( in ResolveField() local
72 DCHECK_EQ(resolved_field == nullptr, soa.Self()->IsExceptionPending()); in ResolveField()
73 if (UNLIKELY(resolved_field == nullptr)) { in ResolveField()
78 if (UNLIKELY(resolved_field->IsStatic() != is_static)) { in ResolveField()
83 return resolved_field; in ResolveField()
89 ArtField* resolved_field, in IsFastInstanceField() argument
91 DCHECK(!resolved_field->IsStatic()); in IsFastInstanceField()
92 ObjPtr<mirror::Class> fields_class = resolved_field->GetDeclaringClass(); in IsFastInstanceField()
95 resolved_field, in IsFastInstanceField()
98 bool fast_put = fast_get && (!resolved_field->IsFinal() || fields_class == referrer_class); in IsFastInstanceField()
Dcompiler_driver.cc1392 ArtField* resolved_field; in ComputeInstanceFieldInfo() local
1397 resolved_field = ResolveField(soa, dex_cache, class_loader, field_idx, /* is_static= */ false); in ComputeInstanceFieldInfo()
1398 referrer_class = resolved_field != nullptr in ComputeInstanceFieldInfo()
1402 if (resolved_field != nullptr && referrer_class != nullptr) { in ComputeInstanceFieldInfo()
1404 dex_cache.Get(), referrer_class, resolved_field, field_idx); in ComputeInstanceFieldInfo()
1408 return can_link ? resolved_field : nullptr; in ComputeInstanceFieldInfo()
1415 ArtField* resolved_field = ComputeInstanceFieldInfo(field_idx, mUnit, is_put, soa); in ComputeInstanceFieldInfo() local
1417 if (resolved_field == nullptr) { in ComputeInstanceFieldInfo()
1423 *is_volatile = resolved_field->IsVolatile(); in ComputeInstanceFieldInfo()
1424 *field_offset = resolved_field->GetOffset(); in ComputeInstanceFieldInfo()
Dcompiler_driver.h167 ArtField* resolved_field,
/art/runtime/interpreter/mterp/
Dnterp.cc324 ArtField* resolved_field = class_linker->ResolveFieldJLS(field_index, in ResolveFieldWithAccessChecks() local
327 if (resolved_field == nullptr) { in ResolveFieldWithAccessChecks()
331 ObjPtr<mirror::Class> fields_class = resolved_field->GetDeclaringClass(); in ResolveFieldWithAccessChecks()
332 if (UNLIKELY(resolved_field->IsStatic() != is_static)) { in ResolveFieldWithAccessChecks()
333 ThrowIncompatibleClassChangeErrorField(resolved_field, is_static, caller); in ResolveFieldWithAccessChecks()
338 resolved_field, in ResolveFieldWithAccessChecks()
343 if (UNLIKELY(is_put && resolved_field->IsFinal() && (fields_class != referring_class))) { in ResolveFieldWithAccessChecks()
344 ThrowIllegalAccessErrorFinalField(caller, resolved_field); in ResolveFieldWithAccessChecks()
347 return resolved_field; in ResolveFieldWithAccessChecks()
356 ArtField* resolved_field = ResolveFieldWithAccessChecks( in NterpGetStaticField() local
[all …]
/art/runtime/entrypoints/
Dentrypoint_utils-inl.h322 ArtField* resolved_field; in FindFieldFromCode() local
336 resolved_field = class_linker->ResolveFieldJLS(field_idx, in FindFieldFromCode()
342 resolved_field = class_linker->ResolveField(field_idx, referrer, is_static); in FindFieldFromCode()
345 if (UNLIKELY(resolved_field == nullptr)) { in FindFieldFromCode()
349 ObjPtr<mirror::Class> fields_class = resolved_field->GetDeclaringClass(); in FindFieldFromCode()
351 if (UNLIKELY(resolved_field->IsStatic() != is_static)) { in FindFieldFromCode()
352 ThrowIncompatibleClassChangeErrorField(resolved_field, is_static, referrer); in FindFieldFromCode()
357 resolved_field, in FindFieldFromCode()
363 if (UNLIKELY(is_set && !resolved_field->CanBeChangedBy(referrer))) { in FindFieldFromCode()
364 ThrowIllegalAccessErrorFinalField(referrer, resolved_field); in FindFieldFromCode()
[all …]
/art/compiler/optimizing/
Dinstruction_builder.cc1825 ArtField* resolved_field = ResolveField(field_index, /* is_static= */ false, is_put); in BuildInstanceFieldAccess() local
1830 HInstruction* object = (resolved_field == nullptr) in BuildInstanceFieldAccess()
1838 if (resolved_field == nullptr) { in BuildInstanceFieldAccess()
1847 uint16_t class_def_index = resolved_field->GetDeclaringClass()->GetDexClassDefIndex(); in BuildInstanceFieldAccess()
1850 resolved_field, in BuildInstanceFieldAccess()
1852 resolved_field->GetOffset(), in BuildInstanceFieldAccess()
1853 resolved_field->IsVolatile(), in BuildInstanceFieldAccess()
1862 if (resolved_field == nullptr) { in BuildInstanceFieldAccess()
1870 uint16_t class_def_index = resolved_field->GetDeclaringClass()->GetDexClassDefIndex(); in BuildInstanceFieldAccess()
1872 resolved_field, in BuildInstanceFieldAccess()
[all …]
Dinliner.cc1720 ArtField* resolved_field = in CreateInstanceFieldGet() local
1722 DCHECK(resolved_field != nullptr); in CreateInstanceFieldGet()
1725 resolved_field, in CreateInstanceFieldGet()
1726 DataType::FromShorty(resolved_field->GetTypeDescriptor()[0]), in CreateInstanceFieldGet()
1727 resolved_field->GetOffset(), in CreateInstanceFieldGet()
1728 resolved_field->IsVolatile(), in CreateInstanceFieldGet()
1730 resolved_field->GetDeclaringClass()->GetDexClassDefIndex(), in CreateInstanceFieldGet()
1755 ArtField* resolved_field = in CreateInstanceFieldSet() local
1757 DCHECK(resolved_field != nullptr); in CreateInstanceFieldSet()
1761 *is_final = resolved_field->IsFinal(); in CreateInstanceFieldSet()
[all …]
/art/runtime/
Dclass_linker-inl.h439 ArtField* resolved_field = referrer->GetDexCache<kWithoutReadBarrier>()->GetResolvedField( in ResolveField() local
441 if (UNLIKELY(resolved_field == nullptr)) { in ResolveField()
446 resolved_field = ResolveField(field_idx, dex_cache, class_loader, is_static); in ResolveField()
450 return resolved_field; in ResolveField()
Dcommon_throws.h148 void ThrowIncompatibleClassChangeErrorField(ArtField* resolved_field,
Dcommon_throws.cc305 void ThrowIncompatibleClassChangeErrorField(ArtField* resolved_field, bool is_static, in ThrowIncompatibleClassChangeErrorField() argument
308 msg << "Expected '" << ArtField::PrettyField(resolved_field) << "' to be a " in ThrowIncompatibleClassChangeErrorField()
Dclass_linker.cc5585 ArtField* resolved_field = dex_cache->GetResolvedField(field_idx, image_pointer_size_); in InitializeClass() local
5586 if (resolved_field == nullptr) { in InitializeClass()
5594 DCHECK_EQ(field, resolved_field); in InitializeClass()