Lines Matching refs:string_idx
79 inline uint32_t DexCache::StringSlotIndex(dex::StringIndex string_idx) { in StringSlotIndex() argument
80 DCHECK_LT(string_idx.index_, GetDexFile()->NumStringIds()); in StringSlotIndex()
81 const uint32_t slot_idx = string_idx.index_ % kDexCacheStringCacheSize; in StringSlotIndex()
86 inline String* DexCache::GetResolvedString(dex::StringIndex string_idx) { in GetResolvedString() argument
93 DCHECK_LT(string_idx.index_, num_preresolved_strings); in GetResolvedString()
95 mirror::String* string = preresolved_strings[string_idx.index_].Read(); in GetResolvedString()
101 return GetStrings()[StringSlotIndex(string_idx)].load( in GetResolvedString()
102 std::memory_order_relaxed).GetObjectForIndex(string_idx.index_); in GetResolvedString()
105 inline void DexCache::SetResolvedString(dex::StringIndex string_idx, ObjPtr<String> resolved) { in SetResolvedString() argument
107 GetStrings()[StringSlotIndex(string_idx)].store( in SetResolvedString()
108 StringDexCachePair(resolved, string_idx.index_), std::memory_order_relaxed); in SetResolvedString()
112 runtime->RecordResolveString(this, string_idx); in SetResolvedString()
118 inline void DexCache::SetPreResolvedString(dex::StringIndex string_idx, ObjPtr<String> resolved) { in SetPreResolvedString() argument
120 DCHECK_LT(string_idx.index_, GetDexFile()->NumStringIds()); in SetPreResolvedString()
121 GetPreResolvedStrings()[string_idx.index_] = GcRoot<mirror::String>(resolved); in SetPreResolvedString()
140 inline void DexCache::ClearString(dex::StringIndex string_idx) { in ClearString() argument
142 uint32_t slot_idx = StringSlotIndex(string_idx); in ClearString()
145 if (slot->load(std::memory_order_relaxed).index == string_idx.index_) { in ClearString()