tbl 110 src/dps8/uthash.h # define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ tbl 113 src/dps8/uthash.h # define uthash_expand_fyi(tbl) /* can be defined to log expands */ tbl 122 src/dps8/uthash.h # define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) tbl 129 src/dps8/uthash.h HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \ tbl 130 src/dps8/uthash.h if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \ tbl 131 src/dps8/uthash.h HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \ tbl 140 src/dps8/uthash.h # define HASH_BLOOM_MAKE(tbl) \ tbl 142 src/dps8/uthash.h (tbl)->bloom_nbits = HASH_BLOOM; \ tbl 143 src/dps8/uthash.h (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ tbl 144 src/dps8/uthash.h if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \ tbl 145 src/dps8/uthash.h memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \ tbl 146 src/dps8/uthash.h (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ tbl 149 src/dps8/uthash.h # define HASH_BLOOM_FREE(tbl) \ tbl 151 src/dps8/uthash.h uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ tbl 157 src/dps8/uthash.h # define HASH_BLOOM_ADD(tbl,hashv) \ tbl 158 src/dps8/uthash.h HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) tbl 160 src/dps8/uthash.h # define HASH_BLOOM_TEST(tbl,hashv) \ tbl 161 src/dps8/uthash.h HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1))) tbl 164 src/dps8/uthash.h # define HASH_BLOOM_MAKE(tbl) tbl 165 src/dps8/uthash.h # define HASH_BLOOM_FREE(tbl) tbl 166 src/dps8/uthash.h # define HASH_BLOOM_ADD(tbl,hashv) tbl 167 src/dps8/uthash.h # define HASH_BLOOM_TEST(tbl,hashv) (1) tbl 173 src/dps8/uthash.h (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \ tbl 175 src/dps8/uthash.h if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \ tbl 176 src/dps8/uthash.h memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \ tbl 177 src/dps8/uthash.h (head)->hh.tbl->tail = &((head)->hh); \ tbl 178 src/dps8/uthash.h (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ tbl 179 src/dps8/uthash.h (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ tbl 180 src/dps8/uthash.h (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ tbl 181 src/dps8/uthash.h (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ tbl 183 src/dps8/uthash.h if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \ tbl 184 src/dps8/uthash.h memset((head)->hh.tbl->buckets, 0, \ tbl 186 src/dps8/uthash.h HASH_BLOOM_MAKE((head)->hh.tbl); \ tbl 187 src/dps8/uthash.h (head)->hh.tbl->signature = HASH_SIGNATURE; \ tbl 214 src/dps8/uthash.h (head)->hh.tbl->tail->next = (add); \ tbl 215 src/dps8/uthash.h (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ tbl 216 src/dps8/uthash.h (head)->hh.tbl->tail = &((add)->hh); \ tbl 218 src/dps8/uthash.h (head)->hh.tbl->num_items++; \ tbl 219 src/dps8/uthash.h (add)->hh.tbl = (head)->hh.tbl; \ tbl 220 src/dps8/uthash.h HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \ tbl 222 src/dps8/uthash.h HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \ tbl 223 src/dps8/uthash.h HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \ tbl 252 src/dps8/uthash.h uthash_free((head)->hh.tbl->buckets, \ tbl 253 src/dps8/uthash.h (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ tbl 254 src/dps8/uthash.h HASH_BLOOM_FREE((head)->hh.tbl); \ tbl 255 src/dps8/uthash.h uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ tbl 259 src/dps8/uthash.h if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \ tbl 260 src/dps8/uthash.h (head)->hh.tbl->tail = \ tbl 262 src/dps8/uthash.h (head)->hh.tbl->hho); \ tbl 266 src/dps8/uthash.h (head)->hh.tbl->hho))->next = (delptr)->hh.next; \ tbl 272 src/dps8/uthash.h (head)->hh.tbl->hho))->prev = \ tbl 275 src/dps8/uthash.h HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ tbl 276 src/dps8/uthash.h HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ tbl 277 src/dps8/uthash.h (head)->hh.tbl->num_items--; \ tbl 326 src/dps8/uthash.h for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \ tbl 328 src/dps8/uthash.h _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ tbl 340 src/dps8/uthash.h if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ tbl 342 src/dps8/uthash.h (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ tbl 345 src/dps8/uthash.h if (_count != (head)->hh.tbl->num_items) { \ tbl 347 src/dps8/uthash.h (head)->hh.tbl->num_items, _count ); \ tbl 359 src/dps8/uthash.h _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ tbl 361 src/dps8/uthash.h (head)->hh.tbl->hho) : NULL ); \ tbl 363 src/dps8/uthash.h if (_count != (head)->hh.tbl->num_items) { \ tbl 365 src/dps8/uthash.h (head)->hh.tbl->num_items, _count ); \ tbl 667 src/dps8/uthash.h # define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \ tbl 669 src/dps8/uthash.h if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \ tbl 676 src/dps8/uthash.h DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,(out)->hh.hh_next)); \ tbl 694 src/dps8/uthash.h && (addhh)->tbl->noexpand != 1) { \ tbl 695 src/dps8/uthash.h HASH_EXPAND_BUCKETS((addhh)->tbl); \ tbl 746 src/dps8/uthash.h # define HASH_EXPAND_BUCKETS(tbl) \ tbl 753 src/dps8/uthash.h 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ tbl 756 src/dps8/uthash.h 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ tbl 757 src/dps8/uthash.h tbl->ideal_chain_maxlen = \ tbl 758 src/dps8/uthash.h (tbl->num_items >> (tbl->log2_num_buckets+1)) + \ tbl 759 src/dps8/uthash.h ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \ tbl 760 src/dps8/uthash.h tbl->nonideal_items = 0; \ tbl 761 src/dps8/uthash.h for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \ tbl 763 src/dps8/uthash.h _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \ tbl 766 src/dps8/uthash.h HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \ tbl 768 src/dps8/uthash.h if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \ tbl 769 src/dps8/uthash.h tbl->nonideal_items++; \ tbl 771 src/dps8/uthash.h tbl->ideal_chain_maxlen; \ tbl 781 src/dps8/uthash.h uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \ tbl 782 src/dps8/uthash.h tbl->num_buckets *= 2; \ tbl 783 src/dps8/uthash.h tbl->log2_num_buckets++; \ tbl 784 src/dps8/uthash.h tbl->buckets = _he_new_buckets; \ tbl 785 src/dps8/uthash.h tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \ tbl 786 src/dps8/uthash.h (tbl->ineff_expands+1) : 0; \ tbl 787 src/dps8/uthash.h if (tbl->ineff_expands > 1) { \ tbl 788 src/dps8/uthash.h tbl->noexpand=1; \ tbl 789 src/dps8/uthash.h uthash_noexpand_fyi(tbl); \ tbl 791 src/dps8/uthash.h uthash_expand_fyi(tbl); \ tbl 830 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ tbl 839 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ tbl 845 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ tbl 848 src/dps8/uthash.h cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \ tbl 849 src/dps8/uthash.h DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \ tbl 854 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ tbl 860 src/dps8/uthash.h (head)->hh.tbl->hho)) : NULL); \ tbl 865 src/dps8/uthash.h ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \ tbl 870 src/dps8/uthash.h ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \ tbl 878 src/dps8/uthash.h (head)->hh.tbl->tail = _hs_tail; \ tbl 879 src/dps8/uthash.h DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ tbl 902 src/dps8/uthash.h for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ tbl 903 src/dps8/uthash.h for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ tbl 906 src/dps8/uthash.h _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ tbl 919 src/dps8/uthash.h _dst_hh->tbl = (dst)->hh_dst.tbl; \ tbl 921 src/dps8/uthash.h HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ tbl 922 src/dps8/uthash.h HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \ tbl 923 src/dps8/uthash.h (dst)->hh_dst.tbl->num_items++; \ tbl 936 src/dps8/uthash.h uthash_free((head)->hh.tbl->buckets, \ tbl 937 src/dps8/uthash.h (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ tbl 938 src/dps8/uthash.h HASH_BLOOM_FREE((head)->hh.tbl); \ tbl 939 src/dps8/uthash.h uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ tbl 945 src/dps8/uthash.h (size_t)((((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ tbl 946 src/dps8/uthash.h ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ tbl 962 src/dps8/uthash.h # define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0) tbl 1033 src/dps8/uthash.h struct UT_hash_table *tbl;