Lines Matching refs:mht
1324 mf_hash_init(mf_hashtab_T *mht) in mf_hash_init() argument
1326 CLEAR_POINTER(mht); in mf_hash_init()
1327 mht->mht_buckets = mht->mht_small_buckets; in mf_hash_init()
1328 mht->mht_mask = MHT_INIT_SIZE - 1; in mf_hash_init()
1336 mf_hash_free(mf_hashtab_T *mht) in mf_hash_free() argument
1338 if (mht->mht_buckets != mht->mht_small_buckets) in mf_hash_free()
1339 vim_free(mht->mht_buckets); in mf_hash_free()
1346 mf_hash_free_all(mf_hashtab_T *mht) in mf_hash_free_all() argument
1352 for (idx = 0; idx <= mht->mht_mask; idx++) in mf_hash_free_all()
1353 for (mhi = mht->mht_buckets[idx]; mhi != NULL; mhi = next) in mf_hash_free_all()
1359 mf_hash_free(mht); in mf_hash_free_all()
1367 mf_hash_find(mf_hashtab_T *mht, blocknr_T key) in mf_hash_find() argument
1371 mhi = mht->mht_buckets[key & mht->mht_mask]; in mf_hash_find()
1383 mf_hash_add_item(mf_hashtab_T *mht, mf_hashitem_T *mhi) in mf_hash_add_item() argument
1387 idx = mhi->mhi_key & mht->mht_mask; in mf_hash_add_item()
1388 mhi->mhi_next = mht->mht_buckets[idx]; in mf_hash_add_item()
1392 mht->mht_buckets[idx] = mhi; in mf_hash_add_item()
1394 mht->mht_count++; in mf_hash_add_item()
1400 if (mht->mht_fixed == 0 in mf_hash_add_item()
1401 && (mht->mht_count >> MHT_LOG_LOAD_FACTOR) > mht->mht_mask) in mf_hash_add_item()
1403 if (mf_hash_grow(mht) == FAIL) in mf_hash_add_item()
1406 mht->mht_fixed = 1; in mf_hash_add_item()
1416 mf_hash_rem_item(mf_hashtab_T *mht, mf_hashitem_T *mhi) in mf_hash_rem_item() argument
1419 mht->mht_buckets[mhi->mhi_key & mht->mht_mask] = mhi->mhi_next; in mf_hash_rem_item()
1426 mht->mht_count--; in mf_hash_rem_item()
1438 mf_hash_grow(mf_hashtab_T *mht) in mf_hash_grow() argument
1447 size = (mht->mht_mask + 1) * MHT_GROWTH_FACTOR * sizeof(void *); in mf_hash_grow()
1453 while ((mht->mht_mask >> shift) != 0) in mf_hash_grow()
1456 for (i = 0; i <= mht->mht_mask; i++) in mf_hash_grow()
1471 for (mhi = mht->mht_buckets[i]; mhi != NULL; mhi = mhi->mhi_next) in mf_hash_grow()
1493 if (mht->mht_buckets != mht->mht_small_buckets) in mf_hash_grow()
1494 vim_free(mht->mht_buckets); in mf_hash_grow()
1496 mht->mht_buckets = buckets; in mf_hash_grow()
1497 mht->mht_mask = (mht->mht_mask + 1) * MHT_GROWTH_FACTOR - 1; in mf_hash_grow()