/art/dex2oat/driver/ |
D | compiler_driver-inl.h | 70 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()
|
D | compiler_driver.cc | 1309 ArtField* resolved_field; in ComputeInstanceFieldInfo() local 1314 resolved_field = ResolveField(soa, dex_cache, class_loader, field_idx, /* is_static= */ false); in ComputeInstanceFieldInfo() 1315 referrer_class = resolved_field != nullptr in ComputeInstanceFieldInfo() 1319 if (resolved_field != nullptr && referrer_class != nullptr) { in ComputeInstanceFieldInfo() 1321 dex_cache.Get(), referrer_class, resolved_field, field_idx); in ComputeInstanceFieldInfo() 1325 return can_link ? resolved_field : nullptr; in ComputeInstanceFieldInfo() 1332 ArtField* resolved_field = ComputeInstanceFieldInfo(field_idx, mUnit, is_put, soa); in ComputeInstanceFieldInfo() local 1334 if (resolved_field == nullptr) { in ComputeInstanceFieldInfo() 1340 *is_volatile = resolved_field->IsVolatile(); in ComputeInstanceFieldInfo() 1341 *field_offset = resolved_field->GetOffset(); in ComputeInstanceFieldInfo()
|
D | compiler_driver.h | 166 ArtField* resolved_field,
|
/art/runtime/interpreter/mterp/ |
D | nterp.cc | 430 ArtField* resolved_field = class_linker->ResolveFieldJLS(field_index, in ResolveFieldWithAccessChecks() local 433 if (resolved_field == nullptr) { in ResolveFieldWithAccessChecks() 437 ObjPtr<mirror::Class> fields_class = resolved_field->GetDeclaringClass(); in ResolveFieldWithAccessChecks() 438 if (UNLIKELY(resolved_field->IsStatic() != is_static)) { in ResolveFieldWithAccessChecks() 439 ThrowIncompatibleClassChangeErrorField(resolved_field, is_static, caller); in ResolveFieldWithAccessChecks() 444 resolved_field, in ResolveFieldWithAccessChecks() 449 if (UNLIKELY(is_put && resolved_field->IsFinal() && (fields_class != referring_class))) { in ResolveFieldWithAccessChecks() 450 ThrowIllegalAccessErrorFinalField(caller, resolved_field); in ResolveFieldWithAccessChecks() 453 if (resolve_field_type != 0u && resolved_field->ResolveType() == nullptr) { in ResolveFieldWithAccessChecks() 457 return resolved_field; in ResolveFieldWithAccessChecks() [all …]
|
/art/runtime/entrypoints/ |
D | entrypoint_utils-inl.h | 322 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/ |
D | instruction_builder.cc | 1941 ArtField* resolved_field = ResolveField(field_index, /* is_static= */ false, is_put); in BuildInstanceFieldAccess() local 1946 HInstruction* object = (resolved_field == nullptr) in BuildInstanceFieldAccess() 1954 if (resolved_field == nullptr) { in BuildInstanceFieldAccess() 1963 uint16_t class_def_index = resolved_field->GetDeclaringClass()->GetDexClassDefIndex(); in BuildInstanceFieldAccess() 1966 resolved_field, in BuildInstanceFieldAccess() 1968 resolved_field->GetOffset(), in BuildInstanceFieldAccess() 1969 resolved_field->IsVolatile(), in BuildInstanceFieldAccess() 1978 if (resolved_field == nullptr) { in BuildInstanceFieldAccess() 1986 uint16_t class_def_index = resolved_field->GetDeclaringClass()->GetDexClassDefIndex(); in BuildInstanceFieldAccess() 1988 resolved_field, in BuildInstanceFieldAccess() [all …]
|
D | inliner.cc | 1623 ArtField* resolved_field = in CreateInstanceFieldGet() local 1625 DCHECK(resolved_field != nullptr); in CreateInstanceFieldGet() 1628 resolved_field, in CreateInstanceFieldGet() 1629 DataType::FromShorty(resolved_field->GetTypeDescriptor()[0]), in CreateInstanceFieldGet() 1630 resolved_field->GetOffset(), in CreateInstanceFieldGet() 1631 resolved_field->IsVolatile(), in CreateInstanceFieldGet() 1633 resolved_field->GetDeclaringClass()->GetDexClassDefIndex(), in CreateInstanceFieldGet() 1658 ArtField* resolved_field = in CreateInstanceFieldSet() local 1660 DCHECK(resolved_field != nullptr); in CreateInstanceFieldSet() 1664 *is_final = resolved_field->IsFinal(); in CreateInstanceFieldSet() [all …]
|
/art/runtime/ |
D | class_linker-inl.h | 448 ArtField* resolved_field = referrer->GetDexCache<kWithoutReadBarrier>()->GetResolvedField( in ResolveField() local 450 if (UNLIKELY(resolved_field == nullptr)) { in ResolveField() 455 resolved_field = ResolveField(field_idx, dex_cache, class_loader, is_static); in ResolveField() 459 return resolved_field; in ResolveField()
|
D | common_throws.h | 148 void ThrowIncompatibleClassChangeErrorField(ArtField* resolved_field,
|
D | common_throws.cc | 305 void ThrowIncompatibleClassChangeErrorField(ArtField* resolved_field, bool is_static, in ThrowIncompatibleClassChangeErrorField() argument 308 msg << "Expected '" << ArtField::PrettyField(resolved_field) << "' to be a " in ThrowIncompatibleClassChangeErrorField()
|
D | class_linker.cc | 5447 ArtField* resolved_field = dex_cache->GetResolvedField(field_idx); in InitializeClass() local 5448 if (resolved_field == nullptr) { in InitializeClass() 5456 DCHECK_EQ(field, resolved_field); in InitializeClass()
|