Lines Matching full:string
23 coretypes::String *StringTable::GetOrInternString(const uint8_t *mutf8_data, uint32_t utf16_length,… in GetOrInternString()
25 bool can_be_compressed = coretypes::String::CanBeCompressedMUtf8(mutf8_data); in GetOrInternString()
33 coretypes::String *StringTable::GetOrInternString(const uint16_t *utf16_data, uint32_t utf16_length, in GetOrInternString()
43 coretypes::String *StringTable::GetOrInternString(coretypes::String *string, LanguageContext ctx) in GetOrInternString() argument
45 auto *str = internal_table_.GetString(string, ctx); in GetOrInternString()
47 str = table_.GetOrInternString(string, ctx); in GetOrInternString()
52 coretypes::String *StringTable::GetOrInternInternalString(const panda_file::File &pf, panda_file::F… in GetOrInternInternalString()
56 coretypes::String *str = table_.GetString(data.data, data.utf16_length, data.is_ascii, ctx); in GetOrInternInternalString()
78 coretypes::String *StringTable::Table::GetString(const uint8_t *utf8_data, uint32_t utf16_length, in GetString()
81 …uint32_t hash_code = coretypes::String::ComputeHashcodeMutf8(utf8_data, utf16_length, can_be_compr… in GetString()
85 …if (coretypes::String::StringsAreEqualMUtf8(found_string, utf8_data, utf16_length, can_be_compress… in GetString()
92 coretypes::String *StringTable::Table::GetString(const uint16_t *utf16_data, uint32_t utf16_length, in GetString()
95 …uint32_t hash_code = coretypes::String::ComputeHashcodeUtf16(const_cast<uint16_t *>(utf16_data), u… in GetString()
99 if (coretypes::String::StringsAreEqualUtf16(found_string, utf16_data, utf16_length)) { in GetString()
106 coretypes::String *StringTable::Table::GetString([[maybe_unused]] coretypes::String *string, in GetString() argument
110 auto hash = string->GetHashcode(); in GetString()
113 if (coretypes::String::StringsAreEqual(found_string, string)) { in GetString()
120 void StringTable::Table::ForceInternString(coretypes::String *string, [[maybe_unused]] LanguageCont… in ForceInternString() argument
123 table_.insert(std::pair<uint32_t, coretypes::String *>(string->GetHashcode(), string)); in ForceInternString()
126 coretypes::String *StringTable::Table::InternString(coretypes::String *string, [[maybe_unused]] Lan… in InternString() argument
128 uint32_t hash_code = string->GetHashcode(); in InternString()
130 // Check string is not present before actually creating and inserting in InternString()
133 if (coretypes::String::StringsAreEqual(found_string, string)) { in InternString()
137 table_.insert(std::pair<uint32_t, coretypes::String *>(hash_code, string)); in InternString()
138 return string; in InternString()
141 coretypes::String *StringTable::Table::GetOrInternString(const uint8_t *mutf8_data, uint32_t utf16_… in GetOrInternString()
144 coretypes::String *result = GetString(mutf8_data, utf16_length, can_be_compressed, ctx); in GetOrInternString()
149 // Even if this string is not inserted, it should get removed during GC in GetOrInternString()
150 result = coretypes::String::CreateFromMUtf8(mutf8_data, utf16_length, can_be_compressed, ctx, in GetOrInternString()
158 coretypes::String *StringTable::Table::GetOrInternString(const uint16_t *utf16_data, uint32_t utf16… in GetOrInternString()
161 coretypes::String *result = GetString(utf16_data, utf16_length, ctx); in GetOrInternString()
166 // Even if this string is not inserted, it should get removed during GC in GetOrInternString()
167 …result = coretypes::String::CreateFromUtf16(utf16_data, utf16_length, ctx, Runtime::GetCurrent()->… in GetOrInternString()
174 coretypes::String *StringTable::Table::GetOrInternString(coretypes::String *string, LanguageContext… in GetOrInternString() argument
176 coretypes::String *result = GetString(string, ctx); in GetOrInternString()
180 result = InternString(string, ctx); in GetOrInternString()
188 LOG(DEBUG, GC) << "Iterate over: " << table_.size() << " elements in string table"; in UpdateMoved()
194 it->second = static_cast<coretypes::String *>(fwd_string); in UpdateMoved()
208 LOG(DEBUG, GC) << "StringTable iterate over: " << table_.size() << " elements in string table"; in Sweep()
214 it->second = static_cast<coretypes::String *>(fwd_string); in Sweep()
218 LOG(DEBUG, GC) << "StringTable: delete string " << std::hex << object in Sweep()
235 coretypes::String *StringTable::InternalTable::GetOrInternString(const uint8_t *mutf8_data, uint32_… in GetOrInternString()
238 coretypes::String *result = GetString(mutf8_data, utf16_length, can_be_compressed, ctx); in GetOrInternString()
243 result = coretypes::String::CreateFromMUtf8(mutf8_data, utf16_length, can_be_compressed, ctx, in GetOrInternString()
248 coretypes::String *StringTable::InternalTable::GetOrInternString(const uint16_t *utf16_data, uint32… in GetOrInternString()
251 coretypes::String *result = GetString(utf16_data, utf16_length, ctx); in GetOrInternString()
257 …coretypes::String::CreateFromUtf16(utf16_data, utf16_length, ctx, Runtime::GetCurrent()->GetPandaV… in GetOrInternString()
261 coretypes::String *StringTable::InternalTable::GetOrInternString(const panda_file::File &pf, in GetOrInternString()
265 coretypes::String *result = GetString(data.data, data.utf16_length, data.is_ascii, ctx); in GetOrInternString()
269 result = coretypes::String::CreateFromMUtf8(data.data, data.utf16_length, data.is_ascii, ctx, in GetOrInternString()
279 PandaUnorderedMap<panda_file::File::EntityId, coretypes::String *, EntityIdEqual> map; in GetOrInternString()
286 coretypes::String *StringTable::InternalTable::GetStringFast(const panda_file::File &pf, panda_file… in GetStringFast()
334 coretypes::String *StringTable::InternalTable::InternStringNonMovable(coretypes::String *string, La… in InternStringNonMovable() argument
336 auto *result = InternString(string, ctx); in InternStringNonMovable()