Lines Matching refs:sym
74 OSSymbol_get_key(const OSSymbol *sym) in OSSymbol_get_key() argument
77 .smrk_string = sym->string, in OSSymbol_get_key()
78 .smrk_len = (size_t)(sym->length - 1) in OSSymbol_get_key()
85 OSSymbol *sym = __container_of(link, OSSymbol, hashlink); in OSSymbol_obj_hash() local
87 return smrh_key_hash_str(OSSymbol_get_key(sym), seed); in OSSymbol_obj_hash()
93 OSSymbol *sym = __container_of(link, OSSymbol, hashlink); in OSSymbol_obj_equ() local
95 return smrh_key_equ_str(OSSymbol_get_key(sym), key); in OSSymbol_obj_equ()
101 OSSymbol *sym = (OSSymbol *)obj; in OSSymbol_obj_try_get() local
103 return (sym->flags & kOSSSymbolPermanent) || in OSSymbol_obj_try_get()
104 sym->taggedTryRetain(nullptr); in OSSymbol_obj_try_get()
173 OSSharedPtr<OSSymbol> &sym,
177 void removeSymbol(OSSymbol *sym);
201 OSSymbol *sym; in findSymbol() local
222 sym = smr_hash_get(&_hash, key, &hash_traits); in findSymbol()
228 sym = (OSSymbol *)__smr_hash_serialized_find(&_huge_head, key, in findSymbol()
230 if (sym && !OSSymbol_obj_try_get(sym)) { in findSymbol()
231 sym = NULL; in findSymbol()
236 if (sym) { in findSymbol()
237 ret.reset(sym, OSNoRetain); in findSymbol()
249 OSSymbol *sym; in insertSymbol() local
262 sym = smr_hash_serialized_get_or_insert(&_hash, key, in insertSymbol()
271 sym = (OSSymbol *)__smr_hash_serialized_find(&_huge_head, key, in insertSymbol()
273 if (!sym || !OSSymbol_obj_try_get(sym)) { in insertSymbol()
277 sym = NULL; in insertSymbol()
283 if (sym) { in insertSymbol()
285 symToInsert.reset(sym, OSNoRetain); in insertSymbol()
290 OSSymbolPool::removeSymbol(OSSymbol *sym) in removeSymbol() argument
294 assert(sym->flags & kOSSSymbolHashed); in removeSymbol()
295 sym->flags &= ~kOSSSymbolHashed; in removeSymbol()
297 if (!OSSymbol_is_huge(sym->length)) { in removeSymbol()
298 smr_hash_serialized_remove(&_hash, &sym->hashlink, &hash_traits); in removeSymbol()
306 smrq_serialized_remove(&_huge_head, &sym->hashlink); in removeSymbol()
337 OSSymbol *sym; in checkForPageUnload() local
342 smr_hash_foreach(sym, &_hash, &hash_traits) { in checkForPageUnload()
343 if (sym->string >= startAddr && sym->string < endAddr) { in checkForPageUnload()
344 assert(sym->flags & kOSStringNoCopy); in checkForPageUnload()
346 s = (char *)kalloc_data(sym->length, in checkForPageUnload()
349 memcpy(s, sym->string, sym->length); in checkForPageUnload()
359 sym->string = s; in checkForPageUnload()
360 sym->flags &= ~kOSStringNoCopy; in checkForPageUnload()
395 OSSymbol_smr_free(void *sym, vm_size_t size __unused) in OSSymbol_smr_free() argument
397 reinterpret_cast<OSSymbol *>(sym)->smr_free(); in OSSymbol_smr_free()
692 OSSymbol * sym; in isEqualTo() local
695 if ((sym = OSDynamicCast(OSSymbol, obj))) { in isEqualTo()
696 return isEqualTo(sym); in isEqualTo()