Lines Matching refs:table
36 * Implements an open-addressing, linear-reprobing hash table.
56 * free to avoid exponential performance degradation as the hash table fills
130 ht->table = rzalloc_array(ht, struct hash_entry, ht->size);
135 if (ht->table == NULL) {
144 * Frees the given hash table.
167 * Deletes all entries of the given hash table without deleting the table
178 for (entry = ht->table; entry != ht->table + ht->size; entry++) {
192 /** Sets the value of the key pointer used for deleted entries in the table.
197 * table, like a uint32_t, in which case that pointer may conflict with one of
200 * This must be called before any keys are actually deleted from the table.
217 struct hash_entry *entry = ht->table + hash_address;
236 * Finds a hash table entry with the given key and hash of that key.
264 struct hash_entry *table, *entry;
269 table = rzalloc_array(ht, struct hash_entry,
271 if (table == NULL)
276 ht->table = table;
288 ralloc_free(old_ht.table);
309 struct hash_entry *entry = ht->table + hash_address;
326 * Note that the hash table doesn't have a delete
362 * Inserts the key with the given hash into the table.
364 * Note that insertion may rearrange the table on a resize or rehash,
383 * This function deletes the given hash table entry.
385 * Note that deletion doesn't otherwise modify the table, so an iteration over
386 * the table deleting entries is safe.
401 * This function is an iterator over the hash table.
404 * an iteration over the table is O(table_size) not O(entries).
411 entry = ht->table;
415 for (; entry != ht->table + ht->size; entry++) {
425 * Returns a random entry from the hash table.
428 * to just removing everything) in caches based on this hash table
442 for (entry = ht->table + i; entry != ht->table + ht->size; entry++) {
449 for (entry = ht->table; entry != ht->table + i; entry++) {