Home
last modified time | relevance | path

Searched refs:field_idx (Results 1 – 25 of 39) sorted by relevance

12

/art/runtime/entrypoints/quick/
Dquick_field_entrypoints.cc41 ALWAYS_INLINE static inline ArtField* FindInstanceField(uint32_t field_idx, in FindInstanceField() argument
50 ArtField* field = FindFieldFromCode<type, kAccessCheck>(field_idx, referrer, self, size); in FindInstanceField()
72 extern "C" RetType artGet ## Kind ## StaticFromCode(uint32_t field_idx, \
78 field_idx, referrer, Static ## PrimitiveOrObject ## Read, \
84 field_idx, referrer, self, sizeof(PrimitiveType)); \
92 extern "C" RetType artGet ## Kind ## InstanceFromCode(uint32_t field_idx, \
99 field_idx, referrer, Instance ## PrimitiveOrObject ## Read, \
105 field_idx, referrer, self, sizeof(PrimitiveType), &obj); \
113 extern "C" int artSet ## Kind ## StaticFromCode(uint32_t field_idx, \
120 field_idx, referrer, Static ## PrimitiveOrObject ## Write, \
[all …]
/art/compiler/driver/
Dcompiler_driver-inl.h63 uint32_t field_idx, bool is_static) { in ResolveFieldWithDexFile() argument
66 *dex_file, field_idx, dex_cache, class_loader, is_static); in ResolveFieldWithDexFile()
84 uint32_t field_idx, bool is_static) { in ResolveField() argument
86 return ResolveFieldWithDexFile(soa, dex_cache, class_loader, mUnit->GetDexFile(), field_idx, in ResolveField()
92 ArtField* resolved_field, uint16_t field_idx) { in IsFastInstanceField() argument
99 field_idx); in IsFastInstanceField()
109 uint32_t field_idx ATTRIBUTE_UNUSED) { in CanAccessResolvedMember()
119 uint32_t field_idx) {
120 return referrer_class->CanAccessResolvedField(access_to, field, dex_cache, field_idx);
129 uint32_t field_idx) {
[all …]
Dcompiler_driver.h216 uint32_t field_idx, bool is_static)
223 uint32_t field_idx, bool is_static)
229 ArtField* resolved_field, uint16_t field_idx)
243 bool ComputeInstanceFieldInfo(uint32_t field_idx, const DexCompilationUnit* mUnit, bool is_put,
247 ArtField* ComputeInstanceFieldInfo(uint32_t field_idx,
370 uint32_t field_idx)
/art/runtime/interpreter/mterp/
Dmterp.cc609 extern "C" ssize_t artSet8InstanceFromMterp(uint32_t field_idx, in artSet8InstanceFromMterp() argument
614 ArtField* field = FindFieldFast(field_idx, referrer, InstancePrimitiveWrite, sizeof(int8_t)); in artSet8InstanceFromMterp()
628 extern "C" ssize_t artSet16InstanceFromMterp(uint32_t field_idx, in artSet16InstanceFromMterp() argument
633 ArtField* field = FindFieldFast(field_idx, referrer, InstancePrimitiveWrite, in artSet16InstanceFromMterp()
648 extern "C" ssize_t artSet32InstanceFromMterp(uint32_t field_idx, in artSet32InstanceFromMterp() argument
653 ArtField* field = FindFieldFast(field_idx, referrer, InstancePrimitiveWrite, in artSet32InstanceFromMterp()
662 extern "C" ssize_t artSet64InstanceFromMterp(uint32_t field_idx, in artSet64InstanceFromMterp() argument
667 ArtField* field = FindFieldFast(field_idx, referrer, InstancePrimitiveWrite, in artSet64InstanceFromMterp()
676 extern "C" ssize_t artSetObjInstanceFromMterp(uint32_t field_idx, in artSetObjInstanceFromMterp() argument
681 ArtField* field = FindFieldFast(field_idx, referrer, InstanceObjectWrite, in artSetObjInstanceFromMterp()
[all …]
/art/runtime/
Ddex_instruction.cc229 uint32_t field_idx = VRegB_21c(); in DumpString() local
230 …s << opcode << " v" << static_cast<int>(VRegA_21c()) << ", " << file->PrettyField(field_idx, true) in DumpString()
231 << " // field@" << field_idx; in DumpString()
243 uint32_t field_idx = VRegB_21c(); in DumpString() local
244 …os << opcode << " v" << static_cast<int>(VRegA_21c()) << ", " << file->PrettyField(field_idx, true) in DumpString()
245 << " // field@" << field_idx; in DumpString()
269 uint32_t field_idx = VRegC_22c(); in DumpString() local
271 << file->PrettyField(field_idx, true) << " // field@" << field_idx; in DumpString()
278 uint32_t field_idx = VRegC_22c(); in DumpString() local
280 << "// offset@" << field_idx; in DumpString()
[all …]
Dclass_linker-inl.h147 inline ArtField* ClassLinker::LookupResolvedField(uint32_t field_idx, in LookupResolvedField() argument
151 ArtField* field = dex_cache->GetResolvedField(field_idx, image_pointer_size_); in LookupResolvedField()
153 field = LookupResolvedField(field_idx, dex_cache, referrer->GetClassLoader(), is_static); in LookupResolvedField()
158 inline ArtField* ClassLinker::ResolveField(uint32_t field_idx, in ResolveField() argument
164 referrer->GetDexCache()->GetResolvedField(field_idx, image_pointer_size_); in ResolveField()
170 resolved_field = ResolveField(dex_file, field_idx, dex_cache, class_loader, is_static); in ResolveField()
Dclass_linker.h329 ArtField* LookupResolvedField(uint32_t field_idx, ArtMethod* referrer, bool is_static)
331 ArtField* ResolveField(uint32_t field_idx, ArtMethod* referrer, bool is_static)
340 ArtField* ResolveField(const DexFile& dex_file, uint32_t field_idx,
351 uint32_t field_idx,
824 ArtField* LookupResolvedField(uint32_t field_idx,
Dclass_linker.cc2867 uint32_t field_idx = it.GetMemberIndex(); in SizeOfClassWithoutEmbeddedTables() local
2869 DCHECK(last_field_idx == DexFile::kDexNoIndex || last_field_idx <= field_idx); in SizeOfClassWithoutEmbeddedTables()
2870 if (UNLIKELY(field_idx == last_field_idx)) { in SizeOfClassWithoutEmbeddedTables()
2873 last_field_idx = field_idx; in SizeOfClassWithoutEmbeddedTables()
2874 const DexFile::FieldId& field_id = dex_file.GetFieldId(field_idx); in SizeOfClassWithoutEmbeddedTables()
3207 uint32_t field_idx = it.GetMemberIndex(); in LoadClassMembers() local
3208 DCHECK_GE(field_idx, last_field_idx); // Ordering enforced by DexFileVerifier. in LoadClassMembers()
3209 if (num_sfields == 0 || LIKELY(field_idx > last_field_idx)) { in LoadClassMembers()
3213 last_field_idx = field_idx; in LoadClassMembers()
3224 uint32_t field_idx = it.GetMemberIndex(); in LoadClassMembers() local
[all …]
/art/runtime/mirror/
Ddex_cache-inl.h179 inline uint32_t DexCache::FieldSlotIndex(uint32_t field_idx) { in FieldSlotIndex() argument
180 DCHECK_LT(field_idx, GetDexFile()->NumFieldIds()); in FieldSlotIndex()
181 const uint32_t slot_idx = field_idx % kDexCacheFieldCacheSize; in FieldSlotIndex()
186 inline ArtField* DexCache::GetResolvedField(uint32_t field_idx, PointerSize ptr_size) { in GetResolvedField() argument
188 auto pair = GetNativePairPtrSize(GetResolvedFields(), FieldSlotIndex(field_idx), ptr_size); in GetResolvedField()
189 return pair.GetObjectForIndex(field_idx); in GetResolvedField()
192 inline void DexCache::SetResolvedField(uint32_t field_idx, ArtField* field, PointerSize ptr_size) { in SetResolvedField() argument
195 FieldDexCachePair pair(field, field_idx); in SetResolvedField()
196 SetNativePairPtrSize(GetResolvedFields(), FieldSlotIndex(field_idx), pair, ptr_size); in SetResolvedField()
199 inline void DexCache::ClearResolvedField(uint32_t field_idx, PointerSize ptr_size) { in ClearResolvedField() argument
[all …]
Dclass-inl.h415 uint32_t field_idx, in ResolvedFieldAccessTest() argument
423 dex::TypeIndex class_idx = referrer_dex_cache->GetDexFile()->GetFieldId(field_idx).class_idx_; in ResolvedFieldAccessTest()
492 uint32_t field_idx) { in CanAccessResolvedField() argument
493 return ResolvedFieldAccessTest<false, false>(access_to, field, field_idx, dex_cache); in CanAccessResolvedField()
498 uint32_t field_idx) { in CheckResolvedFieldAccess() argument
499 return ResolvedFieldAccessTest<true, true>(access_to, field, field_idx, nullptr); in CheckResolvedFieldAccess()
/art/runtime/native/
Ddalvik_system_VMRuntime.cc346 static void PreloadDexCachesResolveField(Handle<mirror::DexCache> dex_cache, uint32_t field_idx, in PreloadDexCachesResolveField() argument
349 ArtField* field = dex_cache->GetResolvedField(field_idx, kRuntimePointerSize); in PreloadDexCachesResolveField()
354 const DexFile::FieldId& field_id = dex_file->GetFieldId(field_idx); in PreloadDexCachesResolveField()
362 field = mirror::Class::FindStaticField(self, klass.Get(), dex_cache.Get(), field_idx); in PreloadDexCachesResolveField()
364 field = klass->FindInstanceField(dex_cache.Get(), field_idx); in PreloadDexCachesResolveField()
369 dex_cache->SetResolvedField(field_idx, field, kRuntimePointerSize); in PreloadDexCachesResolveField()
549 uint32_t field_idx = it.GetMemberIndex(); in VMRuntime_preloadDexCaches() local
550 PreloadDexCachesResolveField(dex_cache, field_idx, true); in VMRuntime_preloadDexCaches()
553 uint32_t field_idx = it.GetMemberIndex(); in VMRuntime_preloadDexCaches() local
554 PreloadDexCachesResolveField(dex_cache, field_idx, false); in VMRuntime_preloadDexCaches()
/art/compiler/dex/
Dinline_method_analyser.h54 uint16_t field_idx; member
148 uint32_t field_idx,
Dinline_method_analyser.cc595 uint32_t field_idx = instruction->VRegC_22c(); in AnalyseIGetMethod() local
622 if (!ComputeSpecialAccessorInfo(method, field_idx, false, data)) { in AnalyseIGetMethod()
664 uint32_t field_idx = instruction->VRegC_22c(); in AnalyseIPutMethod() local
690 if (!ComputeSpecialAccessorInfo(method, field_idx, true, data)) { in AnalyseIPutMethod()
704 uint32_t field_idx, in ComputeSpecialAccessorInfo() argument
712 ArtField* field = class_linker->LookupResolvedField(field_idx, method, /* is_static */ false); in ComputeSpecialAccessorInfo()
718 if (!method_class->CanAccessResolvedField(field_class, field, dex_cache, field_idx) || in ComputeSpecialAccessorInfo()
726 result->field_idx = field_idx; in ComputeSpecialAccessorInfo()
Ddex_to_dex_compiler.cc255 uint32_t field_idx = inst->VRegC_22c(); in CompileInstanceFieldAccess() local
258 bool fast_path = driver_.ComputeInstanceFieldInfo(field_idx, &unit_, is_put, in CompileInstanceFieldAccess()
263 << " by replacing field index " << field_idx in CompileInstanceFieldAccess()
271 quickened_info_.push_back(QuickenedInfo(dex_pc, field_idx)); in CompileInstanceFieldAccess()
/art/runtime/verifier/
Dverifier_deps.h85 uint32_t field_idx,
145 FieldResolution(uint32_t field_idx, uint16_t access_flags, dex::StringIndex declaring_class_idx) in FieldResolution()
146 : FieldResolutionBase(field_idx, access_flags, declaring_class_idx) {} in FieldResolution()
262 uint32_t field_idx,
Dmethod_verifier.h553 ArtField* GetInstanceField(const RegType& obj_type, int field_idx)
557 ArtField* GetStaticField(int field_idx) REQUIRES_SHARED(Locks::mutator_lock_);
Dverifier_deps.cc297 uint32_t field_idx, in AddFieldResolution() argument
311 dex_deps->fields_.emplace(FieldResolution(field_idx, in AddFieldResolution()
314 field_idx, in AddFieldResolution()
530 uint32_t field_idx, in MaybeRecordFieldResolution() argument
534 thread_deps->AddFieldResolution(dex_file, field_idx, field); in MaybeRecordFieldResolution()
Dmethod_verifier.cc4803 ArtField* MethodVerifier::GetStaticField(int field_idx) { in GetStaticField() argument
4804 const DexFile::FieldId& field_id = dex_file_->GetFieldId(field_idx); in GetStaticField()
4809 field_idx, dex_file_->GetFieldName(field_id), in GetStaticField()
4817 ArtField* field = class_linker->ResolveFieldJLS(*dex_file_, field_idx, dex_cache_, class_loader_); in GetStaticField()
4820 VerifierDeps::MaybeRecordFieldResolution(*dex_file_, field_idx, field); in GetStaticField()
4823 VLOG(verifier) << "Unable to resolve static field " << field_idx << " (" in GetStaticField()
4841 ArtField* MethodVerifier::GetInstanceField(const RegType& obj_type, int field_idx) { in GetInstanceField() argument
4842 const DexFile::FieldId& field_id = dex_file_->GetFieldId(field_idx); in GetInstanceField()
4847 field_idx, dex_file_->GetFieldName(field_id), in GetInstanceField()
4855 ArtField* field = class_linker->ResolveFieldJLS(*dex_file_, field_idx, dex_cache_, class_loader_); in GetInstanceField()
[all …]
/art/runtime/utils/
Ddex_cache_arrays_layout-inl.h125 inline size_t DexCacheArraysLayout::FieldOffset(uint32_t field_idx) const { in FieldOffset() argument
126 uint32_t field_hash = field_idx % mirror::DexCache::kDexCacheFieldCacheSize; in FieldOffset()
Ddex_cache_arrays_layout.h98 size_t FieldOffset(uint32_t field_idx) const;
/art/runtime/entrypoints/
Dentrypoint_utils.h117 inline ArtField* FindFieldFromCode(uint32_t field_idx,
133 inline ArtField* FindFieldFast(uint32_t field_idx,
Dentrypoint_utils-inl.h322 inline ArtField* FindFieldFromCode(uint32_t field_idx, in FindFieldFromCode() argument
357 field_idx, in FindFieldFromCode()
363 resolved_field = class_linker->ResolveField(field_idx, referrer, is_static); in FindFieldFromCode()
379 field_idx))) { in FindFieldFromCode()
420 ArtField* FindFieldFromCode<_type, _access_check>(uint32_t field_idx, \
628 inline ArtField* FindFieldFast(uint32_t field_idx, ArtMethod* referrer, FindFieldType type, in FindFieldFast() argument
632 referrer->GetDexCache()->GetResolvedField(field_idx, kRuntimePointerSize); in FindFieldFast()
/art/compiler/utils/
Dtest_dex_file_builder.h138 uint32_t field_idx = 0u; in Build() local
140 entry.second = field_idx; in Build()
141 field_idx += 1u; in Build()
/art/dexdump/
Ddexdump.cc492 const u4 field_idx = static_cast<u4>(readVarWidth(data, arg, false)); in dumpEncodedValue() local
493 const DexFile::FieldId& pFieldId = pDexFile->GetFieldId(field_idx); in dumpEncodedValue()
679 const u4 field_idx = fields[i].field_idx_; in dumpClassAnnotations() local
680 const DexFile::FieldId& pFieldId = pDexFile->GetFieldId(field_idx); in dumpClassAnnotations()
682 fprintf(gOutFile, "Annotations on field #%u '%s'\n", field_idx, field_name); in dumpClassAnnotations()
/art/runtime/interpreter/
Dinterpreter_common.cc48 const uint32_t field_idx = is_static ? inst->VRegB_21c() : inst->VRegC_22c(); in DoFieldGet() local
50 FindFieldFromCode<find_type, do_access_check>(field_idx, shadow_frame.GetMethod(), self, in DoFieldGet()
244 uint32_t field_idx = is_static ? inst->VRegB_21c() : inst->VRegC_22c(); in DoFieldPut() local
246 FindFieldFromCode<find_type, do_access_check>(field_idx, shadow_frame.GetMethod(), self, in DoFieldPut()

12