Lines Matching refs:key
53 ckh_bucket_search(ckh_t *ckh, size_t bucket, const void *key) in ckh_bucket_search() argument
60 if (cell->key != NULL && ckh->keycomp(key, cell->key)) in ckh_bucket_search()
71 ckh_isearch(ckh_t *ckh, const void *key) in ckh_isearch() argument
77 ckh->hash(key, hashes); in ckh_isearch()
81 cell = ckh_bucket_search(ckh, bucket, key); in ckh_isearch()
87 cell = ckh_bucket_search(ckh, bucket, key); in ckh_isearch()
92 ckh_try_bucket_insert(ckh_t *ckh, size_t bucket, const void *key, in ckh_try_bucket_insert() argument
106 if (cell->key == NULL) { in ckh_try_bucket_insert()
107 cell->key = key; in ckh_try_bucket_insert()
127 const void *key, *data, *tkey, *tdata; in ckh_evict_reloc_insert() local
133 key = *argkey; in ckh_evict_reloc_insert()
146 assert(cell->key != NULL); in ckh_evict_reloc_insert()
149 tkey = cell->key; tdata = cell->data; in ckh_evict_reloc_insert()
150 cell->key = key; cell->data = data; in ckh_evict_reloc_insert()
151 key = tkey; data = tdata; in ckh_evict_reloc_insert()
158 ckh->hash(key, hashes); in ckh_evict_reloc_insert()
182 *argkey = key; in ckh_evict_reloc_insert()
188 if (!ckh_try_bucket_insert(ckh, bucket, key, data)) in ckh_evict_reloc_insert()
197 const void *key = *argkey; in ckh_try_insert() local
200 ckh->hash(key, hashes); in ckh_try_insert()
204 if (!ckh_try_bucket_insert(ckh, bucket, key, data)) in ckh_try_insert()
209 if (!ckh_try_bucket_insert(ckh, bucket, key, data)) in ckh_try_insert()
226 const void *key, *data; in ckh_rebuild() local
231 if (aTab[i].key != NULL) { in ckh_rebuild()
232 key = aTab[i].key; in ckh_rebuild()
234 if (ckh_try_insert(ckh, &key, &data)) { in ckh_rebuild()
439 ckh_iter(ckh_t *ckh, size_t *tabind, void **key, void **data) in ckh_iter() argument
445 if (ckh->tab[i].key != NULL) { in ckh_iter()
446 if (key != NULL) in ckh_iter()
447 *key = (void *)ckh->tab[i].key; in ckh_iter()
459 ckh_insert(tsd_t *tsd, ckh_t *ckh, const void *key, const void *data) in ckh_insert() argument
464 assert(ckh_search(ckh, key, NULL, NULL)); in ckh_insert()
470 while (ckh_try_insert(ckh, &key, &data)) { in ckh_insert()
483 ckh_remove(tsd_t *tsd, ckh_t *ckh, const void *searchkey, void **key, in ckh_remove() argument
492 if (key != NULL) in ckh_remove()
493 *key = (void *)ckh->tab[cell].key; in ckh_remove()
496 ckh->tab[cell].key = NULL; in ckh_remove()
515 ckh_search(ckh_t *ckh, const void *searchkey, void **key, void **data) in ckh_search() argument
523 if (key != NULL) in ckh_search()
524 *key = (void *)ckh->tab[cell].key; in ckh_search()
534 ckh_string_hash(const void *key, size_t r_hash[2]) in ckh_string_hash() argument
537 hash(key, strlen((const char *)key), 0x94122f33U, r_hash); in ckh_string_hash()
551 ckh_pointer_hash(const void *key, size_t r_hash[2]) in ckh_pointer_hash() argument
559 u.v = key; in ckh_pointer_hash()