Lines Matching refs:cache

35 #define FULLNESS(cache) \  argument
36 ((((cache)->size * 75) / 100) <= (cache)->used)
37 #define EXPANSION(cache) \ argument
38 ((cache)->size * 2)
44 cache_ptr cache; in objc_hash_new() local
52 cache = (cache_ptr) objc_calloc (1, sizeof (struct cache)); in objc_hash_new()
53 assert (cache); in objc_hash_new()
57 cache->node_table in objc_hash_new()
59 assert (cache->node_table); in objc_hash_new()
61 cache->size = size; in objc_hash_new()
64 cache->mask = (size - 1); in objc_hash_new()
67 cache->hash_func = hash_func; in objc_hash_new()
71 cache->compare_func = compare_func; in objc_hash_new()
73 return cache; in objc_hash_new()
78 objc_hash_delete (cache_ptr cache) in objc_hash_delete() argument
88 for (i = 0; i < cache->size; i++) in objc_hash_delete()
90 if ((node = cache->node_table[i])) in objc_hash_delete()
96 objc_hash_remove (cache,node->key); in objc_hash_delete()
99 objc_hash_remove (cache,node->key); in objc_hash_delete()
104 objc_free(cache->node_table); in objc_hash_delete()
105 objc_free(cache); in objc_hash_delete()
170 objc_hash_remove (cache_ptr cache, const void *key) in objc_hash_remove() argument
172 size_t indx = (*cache->hash_func) (cache, key); in objc_hash_remove()
173 node_ptr node = cache->node_table[indx]; in objc_hash_remove()
181 if ((*cache->compare_func) (node->key, key)) in objc_hash_remove()
183 cache->node_table[indx] = node->next; in objc_hash_remove()
193 if ((*cache->compare_func) (node->key, key)) in objc_hash_remove()
206 --cache->used; in objc_hash_remove()
211 objc_hash_next (cache_ptr cache, node_ptr node) in objc_hash_next() argument
216 cache->last_bucket = 0; in objc_hash_next()
229 ++cache->last_bucket; in objc_hash_next()
234 if (cache->last_bucket < cache->size) in objc_hash_next()
238 while (cache->last_bucket < cache->size) in objc_hash_next()
239 if (cache->node_table[cache->last_bucket]) in objc_hash_next()
240 return cache->node_table[cache->last_bucket]; in objc_hash_next()
242 ++cache->last_bucket; in objc_hash_next()
255 objc_hash_value_for_key (cache_ptr cache, const void *key) in objc_hash_value_for_key() argument
257 node_ptr node = cache->node_table[(*cache->hash_func) (cache, key)]; in objc_hash_value_for_key()
263 if ((*cache->compare_func) (node->key, key)) in objc_hash_value_for_key()
279 objc_hash_is_key_in_hash (cache_ptr cache, const void *key) in objc_hash_is_key_in_hash() argument
281 node_ptr node = cache->node_table[(*cache->hash_func) (cache, key)]; in objc_hash_is_key_in_hash()
286 if ((*cache->compare_func)(node->key, key)) in objc_hash_is_key_in_hash()