Lines Matching refs:key
91 OSSymbol_obj_equ(const struct smrq_slink *link, smrh_key_t key) in OSSymbol_obj_equ() argument
95 return smrh_key_equ_str(OSSymbol_get_key(sym), key); in OSSymbol_obj_equ()
170 OSSharedPtr<const OSSymbol> findSymbol(smrh_key_t key) const;
174 smrh_key_t key,
199 OSSymbolPool::findSymbol(smrh_key_t key) const in findSymbol()
204 if (!OSSymbol_is_huge(key.smrk_len)) { in findSymbol()
213 if (key.smrk_len <= sizeof(tmp_buf)) { in findSymbol()
214 memcpy(tmp_buf, key.smrk_opaque, key.smrk_len); in findSymbol()
215 key.smrk_string = tmp_buf; in findSymbol()
217 copy_s = (char *)kalloc_data(key.smrk_len, in findSymbol()
219 memcpy(copy_s, key.smrk_opaque, key.smrk_len); in findSymbol()
220 key.smrk_string = copy_s; in findSymbol()
222 sym = smr_hash_get(&_hash, key, &hash_traits); in findSymbol()
224 kfree_data(copy_s, key.smrk_len); in findSymbol()
228 sym = (OSSymbol *)__smr_hash_serialized_find(&_huge_head, key, in findSymbol()
246 smrh_key_t key, in insertSymbol() argument
261 if (!OSSymbol_is_huge(key.smrk_len)) { in insertSymbol()
262 sym = smr_hash_serialized_get_or_insert(&_hash, key, in insertSymbol()
271 sym = (OSSymbol *)__smr_hash_serialized_find(&_huge_head, key, in insertSymbol()
441 smrh_key_t key = { in withCString() local
447 if (key.smrk_len >= kMaxStringLength) { in withCString()
451 auto symbol = pool.findSymbol(key); in withCString()
467 permanent = rorgn_contains((vm_offset_t)cString, key.smrk_len + 1, false); in withCString()
479 newSymb->length = (uint32_t)(key.smrk_len + 1); in withCString()
481 pool.insertSymbol(/* inout */ newSymb, key, permanent); in withCString()
482 } else if (char *s = (char *)kalloc_data(key.smrk_len + 1, Z_WAITOK_ZERO)) { in withCString()
483 memcpy(s, cString, key.smrk_len); in withCString()
485 newSymb->length = (uint32_t)(key.smrk_len + 1); in withCString()
487 pool.insertSymbol(/* inout */ newSymb, key, permanent); in withCString()
499 smrh_key_t key = { in withCStringNoCopy() local
505 if (key.smrk_len >= kMaxStringLength) { in withCStringNoCopy()
509 auto symbol = pool.findSymbol(key); in withCStringNoCopy()
515 permanent = rorgn_contains((vm_offset_t)cString, key.smrk_len + 1, false); in withCStringNoCopy()
525 newSymb->length = (uint32_t)(key.smrk_len + 1); in withCStringNoCopy()
527 pool.insertSymbol(/* inout */ newSymb, key, permanent); in withCStringNoCopy()
543 smrh_key_t key = { in existingSymbolForString() local
547 return OSSymbolPool::instance().findSymbol(key); in existingSymbolForString()
553 smrh_key_t key = { in existingSymbolForCString() local
557 return OSSymbolPool::instance().findSymbol(key); in existingSymbolForCString()
706 const void * key, in bsearch() argument
717 if (key == *p) { in bsearch()
720 if (key > *p) { in bsearch()