Line  | Count  | Source (jump to first uncovered line)  | 
1  |  | #ifndef HASHMAP_H  | 
2  |  | #define HASHMAP_H  | 
3  |  |  | 
4  |  | /*  | 
5  |  |  * Generic implementation of hash-based key-value mappings.  | 
6  |  |  *  | 
7  |  |  * An example that maps long to a string:  | 
8  |  |  * For the sake of the example this allows to lookup exact values, too  | 
9  |  |  * (i.e. it is operated as a set, the value is part of the key)  | 
10  |  |  * -------------------------------------  | 
11  |  |  *  | 
12  |  |  * struct hashmap map;  | 
13  |  |  * struct long2string { | 
14  |  |  *     struct hashmap_entry ent;  | 
15  |  |  *     long key;  | 
16  |  |  *     char value[FLEX_ARRAY];   // be careful with allocating on stack!  | 
17  |  |  * };  | 
18  |  |  *  | 
19  |  |  * #define COMPARE_VALUE 1  | 
20  |  |  *  | 
21  |  |  * static int long2string_cmp(const void *hashmap_cmp_fn_data,  | 
22  |  |  *                            const struct hashmap_entry *eptr,  | 
23  |  |  *                            const struct hashmap_entry *entry_or_key,  | 
24  |  |  *                            const void *keydata)  | 
25  |  |  * { | 
26  |  |  *     const char *string = keydata;  | 
27  |  |  *     unsigned flags = *(unsigned *)hashmap_cmp_fn_data;  | 
28  |  |  *     const struct long2string *e1, *e2;  | 
29  |  |  *  | 
30  |  |  *     e1 = container_of(eptr, const struct long2string, ent);  | 
31  |  |  *     e2 = container_of(entry_or_key, const struct long2string, ent);  | 
32  |  |  *  | 
33  |  |  *     if (flags & COMPARE_VALUE)  | 
34  |  |  *         return e1->key != e2->key ||  | 
35  |  |  *                  strcmp(e1->value, string ? string : e2->value);  | 
36  |  |  *     else  | 
37  |  |  *         return e1->key != e2->key;  | 
38  |  |  * }  | 
39  |  |  *  | 
40  |  |  * int main(int argc, char **argv)  | 
41  |  |  * { | 
42  |  |  *     long key;  | 
43  |  |  *     char value[255], action[32];  | 
44  |  |  *     unsigned flags = 0;  | 
45  |  |  *  | 
46  |  |  *     hashmap_init(&map, long2string_cmp, &flags, 0);  | 
47  |  |  *  | 
48  |  |  *     while (scanf("%s %ld %s", action, &key, value)) { | 
49  |  |  *  | 
50  |  |  *         if (!strcmp("add", action)) { | 
51  |  |  *             struct long2string *e;  | 
52  |  |  *             FLEX_ALLOC_STR(e, value, value);  | 
53  |  |  *             hashmap_entry_init(&e->ent, memhash(&key, sizeof(long)));  | 
54  |  |  *             e->key = key;  | 
55  |  |  *             hashmap_add(&map, &e->ent);  | 
56  |  |  *         }  | 
57  |  |  *  | 
58  |  |  *         if (!strcmp("print_all_by_key", action)) { | 
59  |  |  *             struct long2string k, *e;  | 
60  |  |  *             hashmap_entry_init(&k.ent, memhash(&key, sizeof(long)));  | 
61  |  |  *             k.key = key;  | 
62  |  |  *  | 
63  |  |  *             flags &= ~COMPARE_VALUE;  | 
64  |  |  *             e = hashmap_get_entry(&map, &k, ent, NULL);  | 
65  |  |  *             if (e) { | 
66  |  |  *                 printf("first: %ld %s\n", e->key, e->value); | 
67  |  |  *                 while ((e = hashmap_get_next_entry(&map, e,  | 
68  |  |  *                                              struct long2string, ent))) { | 
69  |  |  *                     printf("found more: %ld %s\n", e->key, e->value); | 
70  |  |  *                 }  | 
71  |  |  *             }  | 
72  |  |  *         }  | 
73  |  |  *  | 
74  |  |  *         if (!strcmp("has_exact_match", action)) { | 
75  |  |  *             struct long2string *e;  | 
76  |  |  *             FLEX_ALLOC_STR(e, value, value);  | 
77  |  |  *             hashmap_entry_init(&e->ent, memhash(&key, sizeof(long)));  | 
78  |  |  *             e->key = key;  | 
79  |  |  *  | 
80  |  |  *             flags |= COMPARE_VALUE;  | 
81  |  |  *             printf("%sfound\n", | 
82  |  |  *                    hashmap_get(&map, &e->ent, NULL) ? "" : "not ");  | 
83  |  |  *             free(e);  | 
84  |  |  *         }  | 
85  |  |  *  | 
86  |  |  *         if (!strcmp("has_exact_match_no_heap_alloc", action)) { | 
87  |  |  *             struct long2string k;  | 
88  |  |  *             hashmap_entry_init(&k.ent, memhash(&key, sizeof(long)));  | 
89  |  |  *             k.key = key;  | 
90  |  |  *  | 
91  |  |  *             flags |= COMPARE_VALUE;  | 
92  |  |  *             printf("%sfound\n", | 
93  |  |  *                    hashmap_get(&map, &k.ent, value) ? "" : "not ");  | 
94  |  |  *         }  | 
95  |  |  *  | 
96  |  |  *         if (!strcmp("end", action)) { | 
97  |  |  *             hashmap_clear_and_free(&map, struct long2string, ent);  | 
98  |  |  *             break;  | 
99  |  |  *         }  | 
100  |  |  *     }  | 
101  |  |  *  | 
102  |  |  *     return 0;  | 
103  |  |  * }  | 
104  |  |  */  | 
105  |  |  | 
106  |  | /*  | 
107  |  |  * Ready-to-use hash functions for strings, using the FNV-1 algorithm (see  | 
108  |  |  * http://www.isthe.com/chongo/tech/comp/fnv).  | 
109  |  |  * `strhash` and `strihash` take 0-terminated strings, while `memhash` and  | 
110  |  |  * `memihash` operate on arbitrary-length memory.  | 
111  |  |  * `strihash` and `memihash` are case insensitive versions.  | 
112  |  |  * `memihash_cont` is a variant of `memihash` that allows a computation to be  | 
113  |  |  * continued with another chunk of data.  | 
114  |  |  */  | 
115  |  | unsigned int strhash(const char *buf);  | 
116  |  | unsigned int strihash(const char *buf);  | 
117  |  | unsigned int memhash(const void *buf, size_t len);  | 
118  |  | unsigned int memihash(const void *buf, size_t len);  | 
119  |  | unsigned int memihash_cont(unsigned int hash_seed, const void *buf, size_t len);  | 
120  |  |  | 
121  |  | /*  | 
122  |  |  * struct hashmap_entry is an opaque structure representing an entry in the  | 
123  |  |  * hash table.  | 
124  |  |  * Ideally it should be followed by an int-sized member to prevent unused  | 
125  |  |  * memory on 64-bit systems due to alignment.  | 
126  |  |  */  | 
127  |  | struct hashmap_entry { | 
128  |  |   /*  | 
129  |  |    * next points to the next entry in case of collisions (i.e. if  | 
130  |  |    * multiple entries map to the same bucket)  | 
131  |  |    */  | 
132  |  |   struct hashmap_entry *next;  | 
133  |  |  | 
134  |  |   /* entry's hash code */  | 
135  |  |   unsigned int hash;  | 
136  |  | };  | 
137  |  |  | 
138  |  | /*  | 
139  |  |  * User-supplied function to test two hashmap entries for equality. Shall  | 
140  |  |  * return 0 if the entries are equal.  | 
141  |  |  *  | 
142  |  |  * This function is always called with non-NULL `entry` and `entry_or_key`  | 
143  |  |  * parameters that have the same hash code.  | 
144  |  |  *  | 
145  |  |  * When looking up an entry, the `key` and `keydata` parameters to hashmap_get  | 
146  |  |  * and hashmap_remove are always passed as second `entry_or_key` and third  | 
147  |  |  * argument `keydata`, respectively. Otherwise, `keydata` is NULL.  | 
148  |  |  *  | 
149  |  |  * When it is too expensive to allocate a user entry (either because it is  | 
150  |  |  * large or variable sized, such that it is not on the stack), then the  | 
151  |  |  * relevant data to check for equality should be passed via `keydata`.  | 
152  |  |  * In this case `key` can be a stripped down version of the user key data  | 
153  |  |  * or even just a hashmap_entry having the correct hash.  | 
154  |  |  *  | 
155  |  |  * The `hashmap_cmp_fn_data` entry is the pointer given in the init function.  | 
156  |  |  */  | 
157  |  | typedef int (*hashmap_cmp_fn)(const void *hashmap_cmp_fn_data,  | 
158  |  |             const struct hashmap_entry *entry,  | 
159  |  |             const struct hashmap_entry *entry_or_key,  | 
160  |  |             const void *keydata);  | 
161  |  |  | 
162  |  | /*  | 
163  |  |  * struct hashmap is the hash table structure. Members can be used as follows,  | 
164  |  |  * but should not be modified directly.  | 
165  |  |  */  | 
166  |  | struct hashmap { | 
167  |  |   struct hashmap_entry **table;  | 
168  |  |  | 
169  |  |   /* Stores the comparison function specified in `hashmap_init()`. */  | 
170  |  |   hashmap_cmp_fn cmpfn;  | 
171  |  |   const void *cmpfn_data;  | 
172  |  |  | 
173  |  |   /* total number of entries (0 means the hashmap is empty) */  | 
174  |  |   unsigned int private_size; /* use hashmap_get_size() */  | 
175  |  |  | 
176  |  |   /*  | 
177  |  |    * tablesize is the allocated size of the hash table. A non-0 value  | 
178  |  |    * indicates that the hashmap is initialized. It may also be useful  | 
179  |  |    * for statistical purposes (i.e. `size / tablesize` is the current  | 
180  |  |    * load factor).  | 
181  |  |    */  | 
182  |  |   unsigned int tablesize;  | 
183  |  |  | 
184  |  |   unsigned int grow_at;  | 
185  |  |   unsigned int shrink_at;  | 
186  |  |  | 
187  |  |   unsigned int do_count_items : 1;  | 
188  |  | };  | 
189  |  |  | 
190  |  | /* hashmap functions */  | 
191  |  |  | 
192  | 0  | #define HASHMAP_INIT(fn, data) { .cmpfn = fn, .cmpfn_data = data, \ | 
193  | 0  |          .do_count_items = 1 }  | 
194  |  |  | 
195  |  | /*  | 
196  |  |  * Initializes a hashmap structure.  | 
197  |  |  *  | 
198  |  |  * `map` is the hashmap to initialize.  | 
199  |  |  *  | 
200  |  |  * The `equals_function` can be specified to compare two entries for equality.  | 
201  |  |  * If NULL, entries are considered equal if their hash codes are equal.  | 
202  |  |  *  | 
203  |  |  * The `equals_function_data` parameter can be used to provide additional data  | 
204  |  |  * (a callback cookie) that will be passed to `equals_function` each time it  | 
205  |  |  * is called. This allows a single `equals_function` to implement multiple  | 
206  |  |  * comparison functions.  | 
207  |  |  *  | 
208  |  |  * If the total number of entries is known in advance, the `initial_size`  | 
209  |  |  * parameter may be used to preallocate a sufficiently large table and thus  | 
210  |  |  * prevent expensive resizing. If 0, the table is dynamically resized.  | 
211  |  |  */  | 
212  |  | void hashmap_init(struct hashmap *map,  | 
213  |  |       hashmap_cmp_fn equals_function,  | 
214  |  |       const void *equals_function_data,  | 
215  |  |       size_t initial_size);  | 
216  |  |  | 
217  |  | /* internal functions for clearing or freeing hashmap */  | 
218  |  | void hashmap_partial_clear_(struct hashmap *map, ssize_t offset);  | 
219  |  | void hashmap_clear_(struct hashmap *map, ssize_t offset);  | 
220  |  |  | 
221  |  | /*  | 
222  |  |  * Frees a hashmap structure and allocated memory for the table, but does not  | 
223  |  |  * free the entries nor anything they point to.  | 
224  |  |  *  | 
225  |  |  * Usage note:  | 
226  |  |  *  | 
227  |  |  * Many callers will need to iterate over all entries and free the data each  | 
228  |  |  * entry points to; in such a case, they can free the entry itself while at it.  | 
229  |  |  * Thus, you might see:  | 
230  |  |  *  | 
231  |  |  *    hashmap_for_each_entry(map, hashmap_iter, e, hashmap_entry_name) { | 
232  |  |  *      free(e->somefield);  | 
233  |  |  *      free(e);  | 
234  |  |  *    }  | 
235  |  |  *    hashmap_clear(map);  | 
236  |  |  *  | 
237  |  |  * instead of  | 
238  |  |  *  | 
239  |  |  *    hashmap_for_each_entry(map, hashmap_iter, e, hashmap_entry_name) { | 
240  |  |  *      free(e->somefield);  | 
241  |  |  *    }  | 
242  |  |  *    hashmap_clear_and_free(map, struct my_entry_struct, hashmap_entry_name);  | 
243  |  |  *  | 
244  |  |  * to avoid the implicit extra loop over the entries.  However, if there are  | 
245  |  |  * no special fields in your entry that need to be freed beyond the entry  | 
246  |  |  * itself, it is probably simpler to avoid the explicit loop and just call  | 
247  |  |  * hashmap_clear_and_free().  | 
248  |  |  */  | 
249  | 752  | #define hashmap_clear(map) hashmap_clear_(map, -1)  | 
250  |  |  | 
251  |  | /*  | 
252  |  |  * Similar to hashmap_clear(), except that the table is not deallocated; it  | 
253  |  |  * is merely zeroed out but left the same size as before.  If the hashmap  | 
254  |  |  * will be reused, this avoids the overhead of deallocating and  | 
255  |  |  * reallocating map->table.  As with hashmap_clear(), you may need to free  | 
256  |  |  * the entries yourself before calling this function.  | 
257  |  |  */  | 
258  | 0  | #define hashmap_partial_clear(map) hashmap_partial_clear_(map, -1)  | 
259  |  |  | 
260  |  | /*  | 
261  |  |  * Similar to hashmap_clear() but also frees all entries.  @type is the  | 
262  |  |  * struct type of the entry where @member is the hashmap_entry struct used  | 
263  |  |  * to associate with @map.  | 
264  |  |  *  | 
265  |  |  * See usage note above hashmap_clear().  | 
266  |  |  */  | 
267  |  | #define hashmap_clear_and_free(map, type, member) \  | 
268  | 658  |   hashmap_clear_(map, offsetof(type, member))  | 
269  |  |  | 
270  |  | /*  | 
271  |  |  * Similar to hashmap_partial_clear() but also frees all entries.  @type is  | 
272  |  |  * the struct type of the entry where @member is the hashmap_entry struct  | 
273  |  |  * used to associate with @map.  | 
274  |  |  *  | 
275  |  |  * See usage note above hashmap_clear().  | 
276  |  |  */  | 
277  |  | #define hashmap_partial_clear_and_free(map, type, member) \  | 
278  |  |   hashmap_partial_clear_(map, offsetof(type, member))  | 
279  |  |  | 
280  |  | /* hashmap_entry functions */  | 
281  |  |  | 
282  |  | /*  | 
283  |  |  * Initializes a hashmap_entry structure.  | 
284  |  |  *  | 
285  |  |  * `entry` points to the entry to initialize.  | 
286  |  |  * `hash` is the hash code of the entry.  | 
287  |  |  *  | 
288  |  |  * The hashmap_entry structure does not hold references to external resources,  | 
289  |  |  * and it is safe to just discard it once you are done with it (i.e. if  | 
290  |  |  * your structure was allocated with xmalloc(), you can just free(3) it,  | 
291  |  |  * and if it is on stack, you can just let it go out of scope).  | 
292  |  |  */  | 
293  |  | static inline void hashmap_entry_init(struct hashmap_entry *e,  | 
294  |  |               unsigned int hash)  | 
295  | 87.7k  | { | 
296  | 87.7k  |   e->hash = hash;  | 
297  | 87.7k  |   e->next = NULL;  | 
298  | 87.7k  | } Unexecuted instantiation: add.c:hashmap_entry_init Unexecuted instantiation: am.c:hashmap_entry_init Unexecuted instantiation: apply.c:hashmap_entry_init Unexecuted instantiation: archive.c:hashmap_entry_init Unexecuted instantiation: bisect.c:hashmap_entry_init Unexecuted instantiation: blame.c:hashmap_entry_init Unexecuted instantiation: branch.c:hashmap_entry_init Unexecuted instantiation: bugreport.c:hashmap_entry_init Unexecuted instantiation: bundle.c:hashmap_entry_init Unexecuted instantiation: cat-file.c:hashmap_entry_init Unexecuted instantiation: check-attr.c:hashmap_entry_init Unexecuted instantiation: check-ignore.c:hashmap_entry_init Unexecuted instantiation: check-mailmap.c:hashmap_entry_init Unexecuted instantiation: check-ref-format.c:hashmap_entry_init Unexecuted instantiation: checkout--worker.c:hashmap_entry_init Unexecuted instantiation: checkout-index.c:hashmap_entry_init Unexecuted instantiation: checkout.c:hashmap_entry_init Unexecuted instantiation: clean.c:hashmap_entry_init Unexecuted instantiation: clone.c:hashmap_entry_init Unexecuted instantiation: column.c:hashmap_entry_init Unexecuted instantiation: commit-graph.c:hashmap_entry_init Unexecuted instantiation: commit-tree.c:hashmap_entry_init Unexecuted instantiation: commit.c:hashmap_entry_init config.c:hashmap_entry_init Line  | Count  | Source  |  295  | 2.46k  | { |  296  | 2.46k  |   e->hash = hash;  |  297  | 2.46k  |   e->next = NULL;  |  298  | 2.46k  | }  |  
 Unexecuted instantiation: count-objects.c:hashmap_entry_init Unexecuted instantiation: credential-cache--daemon.c:hashmap_entry_init Unexecuted instantiation: credential-cache.c:hashmap_entry_init Unexecuted instantiation: credential-store.c:hashmap_entry_init Unexecuted instantiation: credential.c:hashmap_entry_init Unexecuted instantiation: describe.c:hashmap_entry_init Unexecuted instantiation: diagnose.c:hashmap_entry_init Unexecuted instantiation: diff-files.c:hashmap_entry_init Unexecuted instantiation: diff-index.c:hashmap_entry_init Unexecuted instantiation: diff-tree.c:hashmap_entry_init Unexecuted instantiation: diff.c:hashmap_entry_init Unexecuted instantiation: difftool.c:hashmap_entry_init Unexecuted instantiation: fast-export.c:hashmap_entry_init Unexecuted instantiation: fast-import.c:hashmap_entry_init Unexecuted instantiation: fetch-pack.c:hashmap_entry_init Unexecuted instantiation: fetch.c:hashmap_entry_init Unexecuted instantiation: fmt-merge-msg.c:hashmap_entry_init Unexecuted instantiation: for-each-ref.c:hashmap_entry_init Unexecuted instantiation: for-each-repo.c:hashmap_entry_init Unexecuted instantiation: fsck.c:hashmap_entry_init Unexecuted instantiation: fsmonitor--daemon.c:hashmap_entry_init Unexecuted instantiation: gc.c:hashmap_entry_init Unexecuted instantiation: get-tar-commit-id.c:hashmap_entry_init Unexecuted instantiation: grep.c:hashmap_entry_init Unexecuted instantiation: hash-object.c:hashmap_entry_init Unexecuted instantiation: help.c:hashmap_entry_init Unexecuted instantiation: hook.c:hashmap_entry_init Unexecuted instantiation: index-pack.c:hashmap_entry_init Unexecuted instantiation: init-db.c:hashmap_entry_init Unexecuted instantiation: interpret-trailers.c:hashmap_entry_init Unexecuted instantiation: log.c:hashmap_entry_init Unexecuted instantiation: ls-files.c:hashmap_entry_init Unexecuted instantiation: ls-remote.c:hashmap_entry_init Unexecuted instantiation: ls-tree.c:hashmap_entry_init Unexecuted instantiation: merge-base.c:hashmap_entry_init Unexecuted instantiation: merge-file.c:hashmap_entry_init Unexecuted instantiation: merge-index.c:hashmap_entry_init Unexecuted instantiation: merge-ours.c:hashmap_entry_init Unexecuted instantiation: merge-recursive.c:hashmap_entry_init Unexecuted instantiation: merge-tree.c:hashmap_entry_init Unexecuted instantiation: merge.c:hashmap_entry_init Unexecuted instantiation: mktag.c:hashmap_entry_init Unexecuted instantiation: mktree.c:hashmap_entry_init Unexecuted instantiation: multi-pack-index.c:hashmap_entry_init Unexecuted instantiation: mv.c:hashmap_entry_init Unexecuted instantiation: name-rev.c:hashmap_entry_init Unexecuted instantiation: notes.c:hashmap_entry_init Unexecuted instantiation: pack-objects.c:hashmap_entry_init Unexecuted instantiation: pack-redundant.c:hashmap_entry_init Unexecuted instantiation: pack-refs.c:hashmap_entry_init Unexecuted instantiation: patch-id.c:hashmap_entry_init Unexecuted instantiation: prune.c:hashmap_entry_init Unexecuted instantiation: pull.c:hashmap_entry_init Unexecuted instantiation: push.c:hashmap_entry_init Unexecuted instantiation: range-diff.c:hashmap_entry_init Unexecuted instantiation: read-tree.c:hashmap_entry_init Unexecuted instantiation: rebase.c:hashmap_entry_init Unexecuted instantiation: receive-pack.c:hashmap_entry_init Unexecuted instantiation: reflog.c:hashmap_entry_init Unexecuted instantiation: refs.c:hashmap_entry_init Unexecuted instantiation: remote-ext.c:hashmap_entry_init Unexecuted instantiation: remote-fd.c:hashmap_entry_init Unexecuted instantiation: remote.c:hashmap_entry_init Unexecuted instantiation: repack.c:hashmap_entry_init Unexecuted instantiation: replace.c:hashmap_entry_init Unexecuted instantiation: replay.c:hashmap_entry_init Unexecuted instantiation: rerere.c:hashmap_entry_init Unexecuted instantiation: reset.c:hashmap_entry_init Unexecuted instantiation: rev-list.c:hashmap_entry_init Unexecuted instantiation: rev-parse.c:hashmap_entry_init Unexecuted instantiation: revert.c:hashmap_entry_init Unexecuted instantiation: rm.c:hashmap_entry_init Unexecuted instantiation: send-pack.c:hashmap_entry_init Unexecuted instantiation: shortlog.c:hashmap_entry_init Unexecuted instantiation: show-branch.c:hashmap_entry_init Unexecuted instantiation: show-index.c:hashmap_entry_init Unexecuted instantiation: show-ref.c:hashmap_entry_init Unexecuted instantiation: sparse-checkout.c:hashmap_entry_init Unexecuted instantiation: stash.c:hashmap_entry_init Unexecuted instantiation: stripspace.c:hashmap_entry_init Unexecuted instantiation: submodule--helper.c:hashmap_entry_init Unexecuted instantiation: symbolic-ref.c:hashmap_entry_init Unexecuted instantiation: tag.c:hashmap_entry_init Unexecuted instantiation: unpack-file.c:hashmap_entry_init Unexecuted instantiation: unpack-objects.c:hashmap_entry_init Unexecuted instantiation: update-index.c:hashmap_entry_init Unexecuted instantiation: update-ref.c:hashmap_entry_init Unexecuted instantiation: update-server-info.c:hashmap_entry_init Unexecuted instantiation: upload-archive.c:hashmap_entry_init Unexecuted instantiation: upload-pack.c:hashmap_entry_init Unexecuted instantiation: var.c:hashmap_entry_init Unexecuted instantiation: verify-commit.c:hashmap_entry_init Unexecuted instantiation: verify-pack.c:hashmap_entry_init Unexecuted instantiation: verify-tag.c:hashmap_entry_init Unexecuted instantiation: worktree.c:hashmap_entry_init Unexecuted instantiation: write-tree.c:hashmap_entry_init Unexecuted instantiation: git.c:hashmap_entry_init Unexecuted instantiation: fuzz-cmd-bundle-verify.c:hashmap_entry_init Unexecuted instantiation: add-interactive.c:hashmap_entry_init Unexecuted instantiation: add-patch.c:hashmap_entry_init Unexecuted instantiation: advice.c:hashmap_entry_init Unexecuted instantiation: alias.c:hashmap_entry_init Unexecuted instantiation: attr.c:hashmap_entry_init Unexecuted instantiation: bloom.c:hashmap_entry_init Unexecuted instantiation: bulk-checkin.c:hashmap_entry_init Unexecuted instantiation: bundle-uri.c:hashmap_entry_init Unexecuted instantiation: cache-tree.c:hashmap_entry_init Unexecuted instantiation: color.c:hashmap_entry_init Unexecuted instantiation: combine-diff.c:hashmap_entry_init Unexecuted instantiation: commit-reach.c:hashmap_entry_init Unexecuted instantiation: terminal.c:hashmap_entry_init Unexecuted instantiation: connect.c:hashmap_entry_init Unexecuted instantiation: connected.c:hashmap_entry_init Unexecuted instantiation: convert.c:hashmap_entry_init Unexecuted instantiation: csum-file.c:hashmap_entry_init Unexecuted instantiation: delta-islands.c:hashmap_entry_init Unexecuted instantiation: diff-lib.c:hashmap_entry_init Unexecuted instantiation: diff-no-index.c:hashmap_entry_init Unexecuted instantiation: diffcore-break.c:hashmap_entry_init Unexecuted instantiation: diffcore-rename.c:hashmap_entry_init Unexecuted instantiation: dir-iterator.c:hashmap_entry_init Unexecuted instantiation: dir.c:hashmap_entry_init Unexecuted instantiation: editor.c:hashmap_entry_init Unexecuted instantiation: entry.c:hashmap_entry_init Unexecuted instantiation: environment.c:hashmap_entry_init Unexecuted instantiation: fsmonitor.c:hashmap_entry_init Unexecuted instantiation: fsmonitor-ipc.c:hashmap_entry_init Unexecuted instantiation: fsmonitor-settings.c:hashmap_entry_init Unexecuted instantiation: gpg-interface.c:hashmap_entry_init Unexecuted instantiation: graph.c:hashmap_entry_init Unexecuted instantiation: hash-lookup.c:hashmap_entry_init hashmap.c:hashmap_entry_init Line  | Count  | Source  |  295  | 1.02k  | { |  296  | 1.02k  |   e->hash = hash;  |  297  | 1.02k  |   e->next = NULL;  |  298  | 1.02k  | }  |  
 Unexecuted instantiation: hex.c:hashmap_entry_init Unexecuted instantiation: ident.c:hashmap_entry_init Unexecuted instantiation: line-log.c:hashmap_entry_init Unexecuted instantiation: list-objects-filter-options.c:hashmap_entry_init Unexecuted instantiation: list-objects.c:hashmap_entry_init Unexecuted instantiation: log-tree.c:hashmap_entry_init Unexecuted instantiation: mailinfo.c:hashmap_entry_init Unexecuted instantiation: mailmap.c:hashmap_entry_init Unexecuted instantiation: merge-blobs.c:hashmap_entry_init Unexecuted instantiation: merge-ll.c:hashmap_entry_init Unexecuted instantiation: merge-ort.c:hashmap_entry_init Unexecuted instantiation: merge-ort-wrappers.c:hashmap_entry_init Unexecuted instantiation: midx.c:hashmap_entry_init Unexecuted instantiation: midx-write.c:hashmap_entry_init Unexecuted instantiation: name-hash.c:hashmap_entry_init Unexecuted instantiation: notes-cache.c:hashmap_entry_init Unexecuted instantiation: notes-merge.c:hashmap_entry_init Unexecuted instantiation: notes-utils.c:hashmap_entry_init Unexecuted instantiation: object-file-convert.c:hashmap_entry_init Unexecuted instantiation: object-file.c:hashmap_entry_init Unexecuted instantiation: object-name.c:hashmap_entry_init Unexecuted instantiation: object.c:hashmap_entry_init Unexecuted instantiation: oid-array.c:hashmap_entry_init oidmap.c:hashmap_entry_init Line  | Count  | Source  |  295  | 84.2k  | { |  296  | 84.2k  |   e->hash = hash;  |  297  | 84.2k  |   e->next = NULL;  |  298  | 84.2k  | }  |  
 Unexecuted instantiation: fuzz-cmd-base.c:hashmap_entry_init Unexecuted instantiation: pack-bitmap-write.c:hashmap_entry_init Unexecuted instantiation: pack-bitmap.c:hashmap_entry_init Unexecuted instantiation: pack-check.c:hashmap_entry_init Unexecuted instantiation: pack-mtimes.c:hashmap_entry_init Unexecuted instantiation: pack-revindex.c:hashmap_entry_init Unexecuted instantiation: pack-write.c:hashmap_entry_init Unexecuted instantiation: packfile.c:hashmap_entry_init Unexecuted instantiation: pager.c:hashmap_entry_init Unexecuted instantiation: parallel-checkout.c:hashmap_entry_init Unexecuted instantiation: parse-options-cb.c:hashmap_entry_init Unexecuted instantiation: patch-ids.c:hashmap_entry_init Unexecuted instantiation: path.c:hashmap_entry_init Unexecuted instantiation: pathspec.c:hashmap_entry_init Unexecuted instantiation: preload-index.c:hashmap_entry_init Unexecuted instantiation: pretty.c:hashmap_entry_init Unexecuted instantiation: progress.c:hashmap_entry_init Unexecuted instantiation: promisor-remote.c:hashmap_entry_init Unexecuted instantiation: protocol.c:hashmap_entry_init Unexecuted instantiation: prune-packed.c:hashmap_entry_init Unexecuted instantiation: pseudo-merge.c:hashmap_entry_init Unexecuted instantiation: reachable.c:hashmap_entry_init Unexecuted instantiation: read-cache.c:hashmap_entry_init Unexecuted instantiation: rebase-interactive.c:hashmap_entry_init Unexecuted instantiation: ref-filter.c:hashmap_entry_init Unexecuted instantiation: reflog-walk.c:hashmap_entry_init Unexecuted instantiation: debug.c:hashmap_entry_init Unexecuted instantiation: files-backend.c:hashmap_entry_init Unexecuted instantiation: reftable-backend.c:hashmap_entry_init Unexecuted instantiation: iterator.c:hashmap_entry_init Unexecuted instantiation: packed-backend.c:hashmap_entry_init Unexecuted instantiation: ref-cache.c:hashmap_entry_init Unexecuted instantiation: refspec.c:hashmap_entry_init Unexecuted instantiation: replace-object.c:hashmap_entry_init Unexecuted instantiation: repo-settings.c:hashmap_entry_init Unexecuted instantiation: repository.c:hashmap_entry_init Unexecuted instantiation: resolve-undo.c:hashmap_entry_init Unexecuted instantiation: revision.c:hashmap_entry_init Unexecuted instantiation: run-command.c:hashmap_entry_init Unexecuted instantiation: sequencer.c:hashmap_entry_init Unexecuted instantiation: serve.c:hashmap_entry_init Unexecuted instantiation: server-info.c:hashmap_entry_init Unexecuted instantiation: setup.c:hashmap_entry_init Unexecuted instantiation: shallow.c:hashmap_entry_init Unexecuted instantiation: sideband.c:hashmap_entry_init Unexecuted instantiation: sparse-index.c:hashmap_entry_init Unexecuted instantiation: split-index.c:hashmap_entry_init Unexecuted instantiation: streaming.c:hashmap_entry_init Unexecuted instantiation: strmap.c:hashmap_entry_init Unexecuted instantiation: sub-process.c:hashmap_entry_init Unexecuted instantiation: submodule-config.c:hashmap_entry_init Unexecuted instantiation: submodule.c:hashmap_entry_init Unexecuted instantiation: symlinks.c:hashmap_entry_init Unexecuted instantiation: tmp-objdir.c:hashmap_entry_init Unexecuted instantiation: trace.c:hashmap_entry_init Unexecuted instantiation: trace2.c:hashmap_entry_init Unexecuted instantiation: tr2_cfg.c:hashmap_entry_init Unexecuted instantiation: tr2_sysenv.c:hashmap_entry_init Unexecuted instantiation: tr2_tgt_event.c:hashmap_entry_init Unexecuted instantiation: tr2_tgt_normal.c:hashmap_entry_init Unexecuted instantiation: tr2_tgt_perf.c:hashmap_entry_init Unexecuted instantiation: trailer.c:hashmap_entry_init Unexecuted instantiation: transport-helper.c:hashmap_entry_init Unexecuted instantiation: transport.c:hashmap_entry_init Unexecuted instantiation: tree-diff.c:hashmap_entry_init Unexecuted instantiation: tree-walk.c:hashmap_entry_init Unexecuted instantiation: tree.c:hashmap_entry_init Unexecuted instantiation: unpack-trees.c:hashmap_entry_init Unexecuted instantiation: urlmatch.c:hashmap_entry_init Unexecuted instantiation: userdiff.c:hashmap_entry_init Unexecuted instantiation: versioncmp.c:hashmap_entry_init Unexecuted instantiation: wt-status.c:hashmap_entry_init Unexecuted instantiation: xdiff-interface.c:hashmap_entry_init Unexecuted instantiation: alloc.c:hashmap_entry_init Unexecuted instantiation: archive-tar.c:hashmap_entry_init Unexecuted instantiation: archive-zip.c:hashmap_entry_init Unexecuted instantiation: chunk-format.c:hashmap_entry_init Unexecuted instantiation: fetch-negotiator.c:hashmap_entry_init Unexecuted instantiation: list-objects-filter.c:hashmap_entry_init Unexecuted instantiation: loose.c:hashmap_entry_init Unexecuted instantiation: ls-refs.c:hashmap_entry_init Unexecuted instantiation: match-trees.c:hashmap_entry_init Unexecuted instantiation: default.c:hashmap_entry_init Unexecuted instantiation: skipping.c:hashmap_entry_init Unexecuted instantiation: protocol-caps.c:hashmap_entry_init Unexecuted instantiation: error.c:hashmap_entry_init Unexecuted instantiation: iter.c:hashmap_entry_init Unexecuted instantiation: publicbasics.c:hashmap_entry_init Unexecuted instantiation: reader.c:hashmap_entry_init Unexecuted instantiation: record.c:hashmap_entry_init Unexecuted instantiation: stack.c:hashmap_entry_init Unexecuted instantiation: writer.c:hashmap_entry_init Unexecuted instantiation: basics.c:hashmap_entry_init Unexecuted instantiation: block.c:hashmap_entry_init Unexecuted instantiation: blocksource.c:hashmap_entry_init Unexecuted instantiation: merged.c:hashmap_entry_init Unexecuted instantiation: pq.c:hashmap_entry_init Unexecuted instantiation: common-main.c:hashmap_entry_init  | 
299  |  |  | 
300  |  | /*  | 
301  |  |  * Return the number of items in the map.  | 
302  |  |  */  | 
303  |  | static inline unsigned int hashmap_get_size(struct hashmap *map)  | 
304  | 0  | { | 
305  | 0  |   if (map->do_count_items)  | 
306  | 0  |     return map->private_size;  | 
307  |  |  | 
308  | 0  |   BUG("hashmap_get_size: size not set"); | 
309  | 0  |   return 0;  | 
310  | 0  | } Unexecuted instantiation: add.c:hashmap_get_size Unexecuted instantiation: am.c:hashmap_get_size Unexecuted instantiation: apply.c:hashmap_get_size Unexecuted instantiation: archive.c:hashmap_get_size Unexecuted instantiation: bisect.c:hashmap_get_size Unexecuted instantiation: blame.c:hashmap_get_size Unexecuted instantiation: branch.c:hashmap_get_size Unexecuted instantiation: bugreport.c:hashmap_get_size Unexecuted instantiation: bundle.c:hashmap_get_size Unexecuted instantiation: cat-file.c:hashmap_get_size Unexecuted instantiation: check-attr.c:hashmap_get_size Unexecuted instantiation: check-ignore.c:hashmap_get_size Unexecuted instantiation: check-mailmap.c:hashmap_get_size Unexecuted instantiation: check-ref-format.c:hashmap_get_size Unexecuted instantiation: checkout--worker.c:hashmap_get_size Unexecuted instantiation: checkout-index.c:hashmap_get_size Unexecuted instantiation: checkout.c:hashmap_get_size Unexecuted instantiation: clean.c:hashmap_get_size Unexecuted instantiation: clone.c:hashmap_get_size Unexecuted instantiation: column.c:hashmap_get_size Unexecuted instantiation: commit-graph.c:hashmap_get_size Unexecuted instantiation: commit-tree.c:hashmap_get_size Unexecuted instantiation: commit.c:hashmap_get_size Unexecuted instantiation: config.c:hashmap_get_size Unexecuted instantiation: count-objects.c:hashmap_get_size Unexecuted instantiation: credential-cache--daemon.c:hashmap_get_size Unexecuted instantiation: credential-cache.c:hashmap_get_size Unexecuted instantiation: credential-store.c:hashmap_get_size Unexecuted instantiation: credential.c:hashmap_get_size Unexecuted instantiation: describe.c:hashmap_get_size Unexecuted instantiation: diagnose.c:hashmap_get_size Unexecuted instantiation: diff-files.c:hashmap_get_size Unexecuted instantiation: diff-index.c:hashmap_get_size Unexecuted instantiation: diff-tree.c:hashmap_get_size Unexecuted instantiation: diff.c:hashmap_get_size Unexecuted instantiation: difftool.c:hashmap_get_size Unexecuted instantiation: fast-export.c:hashmap_get_size Unexecuted instantiation: fast-import.c:hashmap_get_size Unexecuted instantiation: fetch-pack.c:hashmap_get_size Unexecuted instantiation: fetch.c:hashmap_get_size Unexecuted instantiation: fmt-merge-msg.c:hashmap_get_size Unexecuted instantiation: for-each-ref.c:hashmap_get_size Unexecuted instantiation: for-each-repo.c:hashmap_get_size Unexecuted instantiation: fsck.c:hashmap_get_size Unexecuted instantiation: fsmonitor--daemon.c:hashmap_get_size Unexecuted instantiation: gc.c:hashmap_get_size Unexecuted instantiation: get-tar-commit-id.c:hashmap_get_size Unexecuted instantiation: grep.c:hashmap_get_size Unexecuted instantiation: hash-object.c:hashmap_get_size Unexecuted instantiation: help.c:hashmap_get_size Unexecuted instantiation: hook.c:hashmap_get_size Unexecuted instantiation: index-pack.c:hashmap_get_size Unexecuted instantiation: init-db.c:hashmap_get_size Unexecuted instantiation: interpret-trailers.c:hashmap_get_size Unexecuted instantiation: log.c:hashmap_get_size Unexecuted instantiation: ls-files.c:hashmap_get_size Unexecuted instantiation: ls-remote.c:hashmap_get_size Unexecuted instantiation: ls-tree.c:hashmap_get_size Unexecuted instantiation: merge-base.c:hashmap_get_size Unexecuted instantiation: merge-file.c:hashmap_get_size Unexecuted instantiation: merge-index.c:hashmap_get_size Unexecuted instantiation: merge-ours.c:hashmap_get_size Unexecuted instantiation: merge-recursive.c:hashmap_get_size Unexecuted instantiation: merge-tree.c:hashmap_get_size Unexecuted instantiation: merge.c:hashmap_get_size Unexecuted instantiation: mktag.c:hashmap_get_size Unexecuted instantiation: mktree.c:hashmap_get_size Unexecuted instantiation: multi-pack-index.c:hashmap_get_size Unexecuted instantiation: mv.c:hashmap_get_size Unexecuted instantiation: name-rev.c:hashmap_get_size Unexecuted instantiation: notes.c:hashmap_get_size Unexecuted instantiation: pack-objects.c:hashmap_get_size Unexecuted instantiation: pack-redundant.c:hashmap_get_size Unexecuted instantiation: pack-refs.c:hashmap_get_size Unexecuted instantiation: patch-id.c:hashmap_get_size Unexecuted instantiation: prune.c:hashmap_get_size Unexecuted instantiation: pull.c:hashmap_get_size Unexecuted instantiation: push.c:hashmap_get_size Unexecuted instantiation: range-diff.c:hashmap_get_size Unexecuted instantiation: read-tree.c:hashmap_get_size Unexecuted instantiation: rebase.c:hashmap_get_size Unexecuted instantiation: receive-pack.c:hashmap_get_size Unexecuted instantiation: reflog.c:hashmap_get_size Unexecuted instantiation: refs.c:hashmap_get_size Unexecuted instantiation: remote-ext.c:hashmap_get_size Unexecuted instantiation: remote-fd.c:hashmap_get_size Unexecuted instantiation: remote.c:hashmap_get_size Unexecuted instantiation: repack.c:hashmap_get_size Unexecuted instantiation: replace.c:hashmap_get_size Unexecuted instantiation: replay.c:hashmap_get_size Unexecuted instantiation: rerere.c:hashmap_get_size Unexecuted instantiation: reset.c:hashmap_get_size Unexecuted instantiation: rev-list.c:hashmap_get_size Unexecuted instantiation: rev-parse.c:hashmap_get_size Unexecuted instantiation: revert.c:hashmap_get_size Unexecuted instantiation: rm.c:hashmap_get_size Unexecuted instantiation: send-pack.c:hashmap_get_size Unexecuted instantiation: shortlog.c:hashmap_get_size Unexecuted instantiation: show-branch.c:hashmap_get_size Unexecuted instantiation: show-index.c:hashmap_get_size Unexecuted instantiation: show-ref.c:hashmap_get_size Unexecuted instantiation: sparse-checkout.c:hashmap_get_size Unexecuted instantiation: stash.c:hashmap_get_size Unexecuted instantiation: stripspace.c:hashmap_get_size Unexecuted instantiation: submodule--helper.c:hashmap_get_size Unexecuted instantiation: symbolic-ref.c:hashmap_get_size Unexecuted instantiation: tag.c:hashmap_get_size Unexecuted instantiation: unpack-file.c:hashmap_get_size Unexecuted instantiation: unpack-objects.c:hashmap_get_size Unexecuted instantiation: update-index.c:hashmap_get_size Unexecuted instantiation: update-ref.c:hashmap_get_size Unexecuted instantiation: update-server-info.c:hashmap_get_size Unexecuted instantiation: upload-archive.c:hashmap_get_size Unexecuted instantiation: upload-pack.c:hashmap_get_size Unexecuted instantiation: var.c:hashmap_get_size Unexecuted instantiation: verify-commit.c:hashmap_get_size Unexecuted instantiation: verify-pack.c:hashmap_get_size Unexecuted instantiation: verify-tag.c:hashmap_get_size Unexecuted instantiation: worktree.c:hashmap_get_size Unexecuted instantiation: write-tree.c:hashmap_get_size Unexecuted instantiation: git.c:hashmap_get_size Unexecuted instantiation: fuzz-cmd-bundle-verify.c:hashmap_get_size Unexecuted instantiation: add-interactive.c:hashmap_get_size Unexecuted instantiation: add-patch.c:hashmap_get_size Unexecuted instantiation: advice.c:hashmap_get_size Unexecuted instantiation: alias.c:hashmap_get_size Unexecuted instantiation: attr.c:hashmap_get_size Unexecuted instantiation: bloom.c:hashmap_get_size Unexecuted instantiation: bulk-checkin.c:hashmap_get_size Unexecuted instantiation: bundle-uri.c:hashmap_get_size Unexecuted instantiation: cache-tree.c:hashmap_get_size Unexecuted instantiation: color.c:hashmap_get_size Unexecuted instantiation: combine-diff.c:hashmap_get_size Unexecuted instantiation: commit-reach.c:hashmap_get_size Unexecuted instantiation: terminal.c:hashmap_get_size Unexecuted instantiation: connect.c:hashmap_get_size Unexecuted instantiation: connected.c:hashmap_get_size Unexecuted instantiation: convert.c:hashmap_get_size Unexecuted instantiation: csum-file.c:hashmap_get_size Unexecuted instantiation: delta-islands.c:hashmap_get_size Unexecuted instantiation: diff-lib.c:hashmap_get_size Unexecuted instantiation: diff-no-index.c:hashmap_get_size Unexecuted instantiation: diffcore-break.c:hashmap_get_size Unexecuted instantiation: diffcore-rename.c:hashmap_get_size Unexecuted instantiation: dir-iterator.c:hashmap_get_size Unexecuted instantiation: dir.c:hashmap_get_size Unexecuted instantiation: editor.c:hashmap_get_size Unexecuted instantiation: entry.c:hashmap_get_size Unexecuted instantiation: environment.c:hashmap_get_size Unexecuted instantiation: fsmonitor.c:hashmap_get_size Unexecuted instantiation: fsmonitor-ipc.c:hashmap_get_size Unexecuted instantiation: fsmonitor-settings.c:hashmap_get_size Unexecuted instantiation: gpg-interface.c:hashmap_get_size Unexecuted instantiation: graph.c:hashmap_get_size Unexecuted instantiation: hash-lookup.c:hashmap_get_size Unexecuted instantiation: hashmap.c:hashmap_get_size Unexecuted instantiation: hex.c:hashmap_get_size Unexecuted instantiation: ident.c:hashmap_get_size Unexecuted instantiation: line-log.c:hashmap_get_size Unexecuted instantiation: list-objects-filter-options.c:hashmap_get_size Unexecuted instantiation: list-objects.c:hashmap_get_size Unexecuted instantiation: log-tree.c:hashmap_get_size Unexecuted instantiation: mailinfo.c:hashmap_get_size Unexecuted instantiation: mailmap.c:hashmap_get_size Unexecuted instantiation: merge-blobs.c:hashmap_get_size Unexecuted instantiation: merge-ll.c:hashmap_get_size Unexecuted instantiation: merge-ort.c:hashmap_get_size Unexecuted instantiation: merge-ort-wrappers.c:hashmap_get_size Unexecuted instantiation: midx.c:hashmap_get_size Unexecuted instantiation: midx-write.c:hashmap_get_size Unexecuted instantiation: name-hash.c:hashmap_get_size Unexecuted instantiation: notes-cache.c:hashmap_get_size Unexecuted instantiation: notes-merge.c:hashmap_get_size Unexecuted instantiation: notes-utils.c:hashmap_get_size Unexecuted instantiation: object-file-convert.c:hashmap_get_size Unexecuted instantiation: object-file.c:hashmap_get_size Unexecuted instantiation: object-name.c:hashmap_get_size Unexecuted instantiation: object.c:hashmap_get_size Unexecuted instantiation: oid-array.c:hashmap_get_size Unexecuted instantiation: oidmap.c:hashmap_get_size Unexecuted instantiation: fuzz-cmd-base.c:hashmap_get_size Unexecuted instantiation: pack-bitmap-write.c:hashmap_get_size Unexecuted instantiation: pack-bitmap.c:hashmap_get_size Unexecuted instantiation: pack-check.c:hashmap_get_size Unexecuted instantiation: pack-mtimes.c:hashmap_get_size Unexecuted instantiation: pack-revindex.c:hashmap_get_size Unexecuted instantiation: pack-write.c:hashmap_get_size Unexecuted instantiation: packfile.c:hashmap_get_size Unexecuted instantiation: pager.c:hashmap_get_size Unexecuted instantiation: parallel-checkout.c:hashmap_get_size Unexecuted instantiation: parse-options-cb.c:hashmap_get_size Unexecuted instantiation: patch-ids.c:hashmap_get_size Unexecuted instantiation: path.c:hashmap_get_size Unexecuted instantiation: pathspec.c:hashmap_get_size Unexecuted instantiation: preload-index.c:hashmap_get_size Unexecuted instantiation: pretty.c:hashmap_get_size Unexecuted instantiation: progress.c:hashmap_get_size Unexecuted instantiation: promisor-remote.c:hashmap_get_size Unexecuted instantiation: protocol.c:hashmap_get_size Unexecuted instantiation: prune-packed.c:hashmap_get_size Unexecuted instantiation: pseudo-merge.c:hashmap_get_size Unexecuted instantiation: reachable.c:hashmap_get_size Unexecuted instantiation: read-cache.c:hashmap_get_size Unexecuted instantiation: rebase-interactive.c:hashmap_get_size Unexecuted instantiation: ref-filter.c:hashmap_get_size Unexecuted instantiation: reflog-walk.c:hashmap_get_size Unexecuted instantiation: debug.c:hashmap_get_size Unexecuted instantiation: files-backend.c:hashmap_get_size Unexecuted instantiation: reftable-backend.c:hashmap_get_size Unexecuted instantiation: iterator.c:hashmap_get_size Unexecuted instantiation: packed-backend.c:hashmap_get_size Unexecuted instantiation: ref-cache.c:hashmap_get_size Unexecuted instantiation: refspec.c:hashmap_get_size Unexecuted instantiation: replace-object.c:hashmap_get_size Unexecuted instantiation: repo-settings.c:hashmap_get_size Unexecuted instantiation: repository.c:hashmap_get_size Unexecuted instantiation: resolve-undo.c:hashmap_get_size Unexecuted instantiation: revision.c:hashmap_get_size Unexecuted instantiation: run-command.c:hashmap_get_size Unexecuted instantiation: sequencer.c:hashmap_get_size Unexecuted instantiation: serve.c:hashmap_get_size Unexecuted instantiation: server-info.c:hashmap_get_size Unexecuted instantiation: setup.c:hashmap_get_size Unexecuted instantiation: shallow.c:hashmap_get_size Unexecuted instantiation: sideband.c:hashmap_get_size Unexecuted instantiation: sparse-index.c:hashmap_get_size Unexecuted instantiation: split-index.c:hashmap_get_size Unexecuted instantiation: streaming.c:hashmap_get_size Unexecuted instantiation: strmap.c:hashmap_get_size Unexecuted instantiation: sub-process.c:hashmap_get_size Unexecuted instantiation: submodule-config.c:hashmap_get_size Unexecuted instantiation: submodule.c:hashmap_get_size Unexecuted instantiation: symlinks.c:hashmap_get_size Unexecuted instantiation: tmp-objdir.c:hashmap_get_size Unexecuted instantiation: trace.c:hashmap_get_size Unexecuted instantiation: trace2.c:hashmap_get_size Unexecuted instantiation: tr2_cfg.c:hashmap_get_size Unexecuted instantiation: tr2_sysenv.c:hashmap_get_size Unexecuted instantiation: tr2_tgt_event.c:hashmap_get_size Unexecuted instantiation: tr2_tgt_normal.c:hashmap_get_size Unexecuted instantiation: tr2_tgt_perf.c:hashmap_get_size Unexecuted instantiation: trailer.c:hashmap_get_size Unexecuted instantiation: transport-helper.c:hashmap_get_size Unexecuted instantiation: transport.c:hashmap_get_size Unexecuted instantiation: tree-diff.c:hashmap_get_size Unexecuted instantiation: tree-walk.c:hashmap_get_size Unexecuted instantiation: tree.c:hashmap_get_size Unexecuted instantiation: unpack-trees.c:hashmap_get_size Unexecuted instantiation: urlmatch.c:hashmap_get_size Unexecuted instantiation: userdiff.c:hashmap_get_size Unexecuted instantiation: versioncmp.c:hashmap_get_size Unexecuted instantiation: wt-status.c:hashmap_get_size Unexecuted instantiation: xdiff-interface.c:hashmap_get_size Unexecuted instantiation: alloc.c:hashmap_get_size Unexecuted instantiation: archive-tar.c:hashmap_get_size Unexecuted instantiation: archive-zip.c:hashmap_get_size Unexecuted instantiation: chunk-format.c:hashmap_get_size Unexecuted instantiation: fetch-negotiator.c:hashmap_get_size Unexecuted instantiation: list-objects-filter.c:hashmap_get_size Unexecuted instantiation: loose.c:hashmap_get_size Unexecuted instantiation: ls-refs.c:hashmap_get_size Unexecuted instantiation: match-trees.c:hashmap_get_size Unexecuted instantiation: default.c:hashmap_get_size Unexecuted instantiation: skipping.c:hashmap_get_size Unexecuted instantiation: protocol-caps.c:hashmap_get_size Unexecuted instantiation: error.c:hashmap_get_size Unexecuted instantiation: iter.c:hashmap_get_size Unexecuted instantiation: publicbasics.c:hashmap_get_size Unexecuted instantiation: reader.c:hashmap_get_size Unexecuted instantiation: record.c:hashmap_get_size Unexecuted instantiation: stack.c:hashmap_get_size Unexecuted instantiation: writer.c:hashmap_get_size Unexecuted instantiation: basics.c:hashmap_get_size Unexecuted instantiation: block.c:hashmap_get_size Unexecuted instantiation: blocksource.c:hashmap_get_size Unexecuted instantiation: merged.c:hashmap_get_size Unexecuted instantiation: pq.c:hashmap_get_size Unexecuted instantiation: common-main.c:hashmap_get_size  | 
311  |  |  | 
312  |  | /*  | 
313  |  |  * Returns the hashmap entry for the specified key, or NULL if not found.  | 
314  |  |  *  | 
315  |  |  * `map` is the hashmap structure.  | 
316  |  |  *  | 
317  |  |  * `key` is a user data structure that starts with hashmap_entry that has at  | 
318  |  |  * least been initialized with the proper hash code (via `hashmap_entry_init`).  | 
319  |  |  *  | 
320  |  |  * `keydata` is a data structure that holds just enough information to check  | 
321  |  |  * for equality to a given entry.  | 
322  |  |  *  | 
323  |  |  * If the key data is variable-sized (e.g. a FLEX_ARRAY string) or quite large,  | 
324  |  |  * it is undesirable to create a full-fledged entry structure on the heap and  | 
325  |  |  * copy all the key data into the structure.  | 
326  |  |  *  | 
327  |  |  * In this case, the `keydata` parameter can be used to pass  | 
328  |  |  * variable-sized key data directly to the comparison function, and the `key`  | 
329  |  |  * parameter can be a stripped-down, fixed size entry structure allocated on the  | 
330  |  |  * stack.  | 
331  |  |  *  | 
332  |  |  * If an entry with matching hash code is found, `key` and `keydata` are passed  | 
333  |  |  * to `hashmap_cmp_fn` to decide whether the entry matches the key.  | 
334  |  |  */  | 
335  |  | struct hashmap_entry *hashmap_get(const struct hashmap *map,  | 
336  |  |           const struct hashmap_entry *key,  | 
337  |  |           const void *keydata);  | 
338  |  |  | 
339  |  | /*  | 
340  |  |  * Returns the hashmap entry for the specified hash code and key data,  | 
341  |  |  * or NULL if not found.  | 
342  |  |  *  | 
343  |  |  * `map` is the hashmap structure.  | 
344  |  |  * `hash` is the hash code of the entry to look up.  | 
345  |  |  *  | 
346  |  |  * If an entry with matching hash code is found, `keydata` is passed to  | 
347  |  |  * `hashmap_cmp_fn` to decide whether the entry matches the key. The  | 
348  |  |  * `entry_or_key` parameter of `hashmap_cmp_fn` points to a hashmap_entry  | 
349  |  |  * structure that should not be used in the comparison.  | 
350  |  |  */  | 
351  |  | static inline struct hashmap_entry *hashmap_get_from_hash(  | 
352  |  |           const struct hashmap *map,  | 
353  |  |           unsigned int hash,  | 
354  |  |           const void *keydata)  | 
355  | 84.2k  | { | 
356  | 84.2k  |   struct hashmap_entry key;  | 
357  | 84.2k  |   hashmap_entry_init(&key, hash);  | 
358  | 84.2k  |   return hashmap_get(map, &key, keydata);  | 
359  | 84.2k  | } Unexecuted instantiation: add.c:hashmap_get_from_hash Unexecuted instantiation: am.c:hashmap_get_from_hash Unexecuted instantiation: apply.c:hashmap_get_from_hash Unexecuted instantiation: archive.c:hashmap_get_from_hash Unexecuted instantiation: bisect.c:hashmap_get_from_hash Unexecuted instantiation: blame.c:hashmap_get_from_hash Unexecuted instantiation: branch.c:hashmap_get_from_hash Unexecuted instantiation: bugreport.c:hashmap_get_from_hash Unexecuted instantiation: bundle.c:hashmap_get_from_hash Unexecuted instantiation: cat-file.c:hashmap_get_from_hash Unexecuted instantiation: check-attr.c:hashmap_get_from_hash Unexecuted instantiation: check-ignore.c:hashmap_get_from_hash Unexecuted instantiation: check-mailmap.c:hashmap_get_from_hash Unexecuted instantiation: check-ref-format.c:hashmap_get_from_hash Unexecuted instantiation: checkout--worker.c:hashmap_get_from_hash Unexecuted instantiation: checkout-index.c:hashmap_get_from_hash Unexecuted instantiation: checkout.c:hashmap_get_from_hash Unexecuted instantiation: clean.c:hashmap_get_from_hash Unexecuted instantiation: clone.c:hashmap_get_from_hash Unexecuted instantiation: column.c:hashmap_get_from_hash Unexecuted instantiation: commit-graph.c:hashmap_get_from_hash Unexecuted instantiation: commit-tree.c:hashmap_get_from_hash Unexecuted instantiation: commit.c:hashmap_get_from_hash Unexecuted instantiation: config.c:hashmap_get_from_hash Unexecuted instantiation: count-objects.c:hashmap_get_from_hash Unexecuted instantiation: credential-cache--daemon.c:hashmap_get_from_hash Unexecuted instantiation: credential-cache.c:hashmap_get_from_hash Unexecuted instantiation: credential-store.c:hashmap_get_from_hash Unexecuted instantiation: credential.c:hashmap_get_from_hash Unexecuted instantiation: describe.c:hashmap_get_from_hash Unexecuted instantiation: diagnose.c:hashmap_get_from_hash Unexecuted instantiation: diff-files.c:hashmap_get_from_hash Unexecuted instantiation: diff-index.c:hashmap_get_from_hash Unexecuted instantiation: diff-tree.c:hashmap_get_from_hash Unexecuted instantiation: diff.c:hashmap_get_from_hash Unexecuted instantiation: difftool.c:hashmap_get_from_hash Unexecuted instantiation: fast-export.c:hashmap_get_from_hash Unexecuted instantiation: fast-import.c:hashmap_get_from_hash Unexecuted instantiation: fetch-pack.c:hashmap_get_from_hash Unexecuted instantiation: fetch.c:hashmap_get_from_hash Unexecuted instantiation: fmt-merge-msg.c:hashmap_get_from_hash Unexecuted instantiation: for-each-ref.c:hashmap_get_from_hash Unexecuted instantiation: for-each-repo.c:hashmap_get_from_hash Unexecuted instantiation: fsck.c:hashmap_get_from_hash Unexecuted instantiation: fsmonitor--daemon.c:hashmap_get_from_hash Unexecuted instantiation: gc.c:hashmap_get_from_hash Unexecuted instantiation: get-tar-commit-id.c:hashmap_get_from_hash Unexecuted instantiation: grep.c:hashmap_get_from_hash Unexecuted instantiation: hash-object.c:hashmap_get_from_hash Unexecuted instantiation: help.c:hashmap_get_from_hash Unexecuted instantiation: hook.c:hashmap_get_from_hash Unexecuted instantiation: index-pack.c:hashmap_get_from_hash Unexecuted instantiation: init-db.c:hashmap_get_from_hash Unexecuted instantiation: interpret-trailers.c:hashmap_get_from_hash Unexecuted instantiation: log.c:hashmap_get_from_hash Unexecuted instantiation: ls-files.c:hashmap_get_from_hash Unexecuted instantiation: ls-remote.c:hashmap_get_from_hash Unexecuted instantiation: ls-tree.c:hashmap_get_from_hash Unexecuted instantiation: merge-base.c:hashmap_get_from_hash Unexecuted instantiation: merge-file.c:hashmap_get_from_hash Unexecuted instantiation: merge-index.c:hashmap_get_from_hash Unexecuted instantiation: merge-ours.c:hashmap_get_from_hash Unexecuted instantiation: merge-recursive.c:hashmap_get_from_hash Unexecuted instantiation: merge-tree.c:hashmap_get_from_hash Unexecuted instantiation: merge.c:hashmap_get_from_hash Unexecuted instantiation: mktag.c:hashmap_get_from_hash Unexecuted instantiation: mktree.c:hashmap_get_from_hash Unexecuted instantiation: multi-pack-index.c:hashmap_get_from_hash Unexecuted instantiation: mv.c:hashmap_get_from_hash Unexecuted instantiation: name-rev.c:hashmap_get_from_hash Unexecuted instantiation: notes.c:hashmap_get_from_hash Unexecuted instantiation: pack-objects.c:hashmap_get_from_hash Unexecuted instantiation: pack-redundant.c:hashmap_get_from_hash Unexecuted instantiation: pack-refs.c:hashmap_get_from_hash Unexecuted instantiation: patch-id.c:hashmap_get_from_hash Unexecuted instantiation: prune.c:hashmap_get_from_hash Unexecuted instantiation: pull.c:hashmap_get_from_hash Unexecuted instantiation: push.c:hashmap_get_from_hash Unexecuted instantiation: range-diff.c:hashmap_get_from_hash Unexecuted instantiation: read-tree.c:hashmap_get_from_hash Unexecuted instantiation: rebase.c:hashmap_get_from_hash Unexecuted instantiation: receive-pack.c:hashmap_get_from_hash Unexecuted instantiation: reflog.c:hashmap_get_from_hash Unexecuted instantiation: refs.c:hashmap_get_from_hash Unexecuted instantiation: remote-ext.c:hashmap_get_from_hash Unexecuted instantiation: remote-fd.c:hashmap_get_from_hash Unexecuted instantiation: remote.c:hashmap_get_from_hash Unexecuted instantiation: repack.c:hashmap_get_from_hash Unexecuted instantiation: replace.c:hashmap_get_from_hash Unexecuted instantiation: replay.c:hashmap_get_from_hash Unexecuted instantiation: rerere.c:hashmap_get_from_hash Unexecuted instantiation: reset.c:hashmap_get_from_hash Unexecuted instantiation: rev-list.c:hashmap_get_from_hash Unexecuted instantiation: rev-parse.c:hashmap_get_from_hash Unexecuted instantiation: revert.c:hashmap_get_from_hash Unexecuted instantiation: rm.c:hashmap_get_from_hash Unexecuted instantiation: send-pack.c:hashmap_get_from_hash Unexecuted instantiation: shortlog.c:hashmap_get_from_hash Unexecuted instantiation: show-branch.c:hashmap_get_from_hash Unexecuted instantiation: show-index.c:hashmap_get_from_hash Unexecuted instantiation: show-ref.c:hashmap_get_from_hash Unexecuted instantiation: sparse-checkout.c:hashmap_get_from_hash Unexecuted instantiation: stash.c:hashmap_get_from_hash Unexecuted instantiation: stripspace.c:hashmap_get_from_hash Unexecuted instantiation: submodule--helper.c:hashmap_get_from_hash Unexecuted instantiation: symbolic-ref.c:hashmap_get_from_hash Unexecuted instantiation: tag.c:hashmap_get_from_hash Unexecuted instantiation: unpack-file.c:hashmap_get_from_hash Unexecuted instantiation: unpack-objects.c:hashmap_get_from_hash Unexecuted instantiation: update-index.c:hashmap_get_from_hash Unexecuted instantiation: update-ref.c:hashmap_get_from_hash Unexecuted instantiation: update-server-info.c:hashmap_get_from_hash Unexecuted instantiation: upload-archive.c:hashmap_get_from_hash Unexecuted instantiation: upload-pack.c:hashmap_get_from_hash Unexecuted instantiation: var.c:hashmap_get_from_hash Unexecuted instantiation: verify-commit.c:hashmap_get_from_hash Unexecuted instantiation: verify-pack.c:hashmap_get_from_hash Unexecuted instantiation: verify-tag.c:hashmap_get_from_hash Unexecuted instantiation: worktree.c:hashmap_get_from_hash Unexecuted instantiation: write-tree.c:hashmap_get_from_hash Unexecuted instantiation: git.c:hashmap_get_from_hash Unexecuted instantiation: fuzz-cmd-bundle-verify.c:hashmap_get_from_hash Unexecuted instantiation: add-interactive.c:hashmap_get_from_hash Unexecuted instantiation: add-patch.c:hashmap_get_from_hash Unexecuted instantiation: advice.c:hashmap_get_from_hash Unexecuted instantiation: alias.c:hashmap_get_from_hash Unexecuted instantiation: attr.c:hashmap_get_from_hash Unexecuted instantiation: bloom.c:hashmap_get_from_hash Unexecuted instantiation: bulk-checkin.c:hashmap_get_from_hash Unexecuted instantiation: bundle-uri.c:hashmap_get_from_hash Unexecuted instantiation: cache-tree.c:hashmap_get_from_hash Unexecuted instantiation: color.c:hashmap_get_from_hash Unexecuted instantiation: combine-diff.c:hashmap_get_from_hash Unexecuted instantiation: commit-reach.c:hashmap_get_from_hash Unexecuted instantiation: terminal.c:hashmap_get_from_hash Unexecuted instantiation: connect.c:hashmap_get_from_hash Unexecuted instantiation: connected.c:hashmap_get_from_hash Unexecuted instantiation: convert.c:hashmap_get_from_hash Unexecuted instantiation: csum-file.c:hashmap_get_from_hash Unexecuted instantiation: delta-islands.c:hashmap_get_from_hash Unexecuted instantiation: diff-lib.c:hashmap_get_from_hash Unexecuted instantiation: diff-no-index.c:hashmap_get_from_hash Unexecuted instantiation: diffcore-break.c:hashmap_get_from_hash Unexecuted instantiation: diffcore-rename.c:hashmap_get_from_hash Unexecuted instantiation: dir-iterator.c:hashmap_get_from_hash Unexecuted instantiation: dir.c:hashmap_get_from_hash Unexecuted instantiation: editor.c:hashmap_get_from_hash Unexecuted instantiation: entry.c:hashmap_get_from_hash Unexecuted instantiation: environment.c:hashmap_get_from_hash Unexecuted instantiation: fsmonitor.c:hashmap_get_from_hash Unexecuted instantiation: fsmonitor-ipc.c:hashmap_get_from_hash Unexecuted instantiation: fsmonitor-settings.c:hashmap_get_from_hash Unexecuted instantiation: gpg-interface.c:hashmap_get_from_hash Unexecuted instantiation: graph.c:hashmap_get_from_hash Unexecuted instantiation: hash-lookup.c:hashmap_get_from_hash Unexecuted instantiation: hashmap.c:hashmap_get_from_hash Unexecuted instantiation: hex.c:hashmap_get_from_hash Unexecuted instantiation: ident.c:hashmap_get_from_hash Unexecuted instantiation: line-log.c:hashmap_get_from_hash Unexecuted instantiation: list-objects-filter-options.c:hashmap_get_from_hash Unexecuted instantiation: list-objects.c:hashmap_get_from_hash Unexecuted instantiation: log-tree.c:hashmap_get_from_hash Unexecuted instantiation: mailinfo.c:hashmap_get_from_hash Unexecuted instantiation: mailmap.c:hashmap_get_from_hash Unexecuted instantiation: merge-blobs.c:hashmap_get_from_hash Unexecuted instantiation: merge-ll.c:hashmap_get_from_hash Unexecuted instantiation: merge-ort.c:hashmap_get_from_hash Unexecuted instantiation: merge-ort-wrappers.c:hashmap_get_from_hash Unexecuted instantiation: midx.c:hashmap_get_from_hash Unexecuted instantiation: midx-write.c:hashmap_get_from_hash Unexecuted instantiation: name-hash.c:hashmap_get_from_hash Unexecuted instantiation: notes-cache.c:hashmap_get_from_hash Unexecuted instantiation: notes-merge.c:hashmap_get_from_hash Unexecuted instantiation: notes-utils.c:hashmap_get_from_hash Unexecuted instantiation: object-file-convert.c:hashmap_get_from_hash Unexecuted instantiation: object-file.c:hashmap_get_from_hash Unexecuted instantiation: object-name.c:hashmap_get_from_hash Unexecuted instantiation: object.c:hashmap_get_from_hash Unexecuted instantiation: oid-array.c:hashmap_get_from_hash oidmap.c:hashmap_get_from_hash Line  | Count  | Source  |  355  | 84.2k  | { |  356  | 84.2k  |   struct hashmap_entry key;  |  357  | 84.2k  |   hashmap_entry_init(&key, hash);  |  358  | 84.2k  |   return hashmap_get(map, &key, keydata);  |  359  | 84.2k  | }  |  
 Unexecuted instantiation: fuzz-cmd-base.c:hashmap_get_from_hash Unexecuted instantiation: pack-bitmap-write.c:hashmap_get_from_hash Unexecuted instantiation: pack-bitmap.c:hashmap_get_from_hash Unexecuted instantiation: pack-check.c:hashmap_get_from_hash Unexecuted instantiation: pack-mtimes.c:hashmap_get_from_hash Unexecuted instantiation: pack-revindex.c:hashmap_get_from_hash Unexecuted instantiation: pack-write.c:hashmap_get_from_hash Unexecuted instantiation: packfile.c:hashmap_get_from_hash Unexecuted instantiation: pager.c:hashmap_get_from_hash Unexecuted instantiation: parallel-checkout.c:hashmap_get_from_hash Unexecuted instantiation: parse-options-cb.c:hashmap_get_from_hash Unexecuted instantiation: patch-ids.c:hashmap_get_from_hash Unexecuted instantiation: path.c:hashmap_get_from_hash Unexecuted instantiation: pathspec.c:hashmap_get_from_hash Unexecuted instantiation: preload-index.c:hashmap_get_from_hash Unexecuted instantiation: pretty.c:hashmap_get_from_hash Unexecuted instantiation: progress.c:hashmap_get_from_hash Unexecuted instantiation: promisor-remote.c:hashmap_get_from_hash Unexecuted instantiation: protocol.c:hashmap_get_from_hash Unexecuted instantiation: prune-packed.c:hashmap_get_from_hash Unexecuted instantiation: pseudo-merge.c:hashmap_get_from_hash Unexecuted instantiation: reachable.c:hashmap_get_from_hash Unexecuted instantiation: read-cache.c:hashmap_get_from_hash Unexecuted instantiation: rebase-interactive.c:hashmap_get_from_hash Unexecuted instantiation: ref-filter.c:hashmap_get_from_hash Unexecuted instantiation: reflog-walk.c:hashmap_get_from_hash Unexecuted instantiation: debug.c:hashmap_get_from_hash Unexecuted instantiation: files-backend.c:hashmap_get_from_hash Unexecuted instantiation: reftable-backend.c:hashmap_get_from_hash Unexecuted instantiation: iterator.c:hashmap_get_from_hash Unexecuted instantiation: packed-backend.c:hashmap_get_from_hash Unexecuted instantiation: ref-cache.c:hashmap_get_from_hash Unexecuted instantiation: refspec.c:hashmap_get_from_hash Unexecuted instantiation: replace-object.c:hashmap_get_from_hash Unexecuted instantiation: repo-settings.c:hashmap_get_from_hash Unexecuted instantiation: repository.c:hashmap_get_from_hash Unexecuted instantiation: resolve-undo.c:hashmap_get_from_hash Unexecuted instantiation: revision.c:hashmap_get_from_hash Unexecuted instantiation: run-command.c:hashmap_get_from_hash Unexecuted instantiation: sequencer.c:hashmap_get_from_hash Unexecuted instantiation: serve.c:hashmap_get_from_hash Unexecuted instantiation: server-info.c:hashmap_get_from_hash Unexecuted instantiation: setup.c:hashmap_get_from_hash Unexecuted instantiation: shallow.c:hashmap_get_from_hash Unexecuted instantiation: sideband.c:hashmap_get_from_hash Unexecuted instantiation: sparse-index.c:hashmap_get_from_hash Unexecuted instantiation: split-index.c:hashmap_get_from_hash Unexecuted instantiation: streaming.c:hashmap_get_from_hash Unexecuted instantiation: strmap.c:hashmap_get_from_hash Unexecuted instantiation: sub-process.c:hashmap_get_from_hash Unexecuted instantiation: submodule-config.c:hashmap_get_from_hash Unexecuted instantiation: submodule.c:hashmap_get_from_hash Unexecuted instantiation: symlinks.c:hashmap_get_from_hash Unexecuted instantiation: tmp-objdir.c:hashmap_get_from_hash Unexecuted instantiation: trace.c:hashmap_get_from_hash Unexecuted instantiation: trace2.c:hashmap_get_from_hash Unexecuted instantiation: tr2_cfg.c:hashmap_get_from_hash Unexecuted instantiation: tr2_sysenv.c:hashmap_get_from_hash Unexecuted instantiation: tr2_tgt_event.c:hashmap_get_from_hash Unexecuted instantiation: tr2_tgt_normal.c:hashmap_get_from_hash Unexecuted instantiation: tr2_tgt_perf.c:hashmap_get_from_hash Unexecuted instantiation: trailer.c:hashmap_get_from_hash Unexecuted instantiation: transport-helper.c:hashmap_get_from_hash Unexecuted instantiation: transport.c:hashmap_get_from_hash Unexecuted instantiation: tree-diff.c:hashmap_get_from_hash Unexecuted instantiation: tree-walk.c:hashmap_get_from_hash Unexecuted instantiation: tree.c:hashmap_get_from_hash Unexecuted instantiation: unpack-trees.c:hashmap_get_from_hash Unexecuted instantiation: urlmatch.c:hashmap_get_from_hash Unexecuted instantiation: userdiff.c:hashmap_get_from_hash Unexecuted instantiation: versioncmp.c:hashmap_get_from_hash Unexecuted instantiation: wt-status.c:hashmap_get_from_hash Unexecuted instantiation: xdiff-interface.c:hashmap_get_from_hash Unexecuted instantiation: alloc.c:hashmap_get_from_hash Unexecuted instantiation: archive-tar.c:hashmap_get_from_hash Unexecuted instantiation: archive-zip.c:hashmap_get_from_hash Unexecuted instantiation: chunk-format.c:hashmap_get_from_hash Unexecuted instantiation: fetch-negotiator.c:hashmap_get_from_hash Unexecuted instantiation: list-objects-filter.c:hashmap_get_from_hash Unexecuted instantiation: loose.c:hashmap_get_from_hash Unexecuted instantiation: ls-refs.c:hashmap_get_from_hash Unexecuted instantiation: match-trees.c:hashmap_get_from_hash Unexecuted instantiation: default.c:hashmap_get_from_hash Unexecuted instantiation: skipping.c:hashmap_get_from_hash Unexecuted instantiation: protocol-caps.c:hashmap_get_from_hash Unexecuted instantiation: error.c:hashmap_get_from_hash Unexecuted instantiation: iter.c:hashmap_get_from_hash Unexecuted instantiation: publicbasics.c:hashmap_get_from_hash Unexecuted instantiation: reader.c:hashmap_get_from_hash Unexecuted instantiation: record.c:hashmap_get_from_hash Unexecuted instantiation: stack.c:hashmap_get_from_hash Unexecuted instantiation: writer.c:hashmap_get_from_hash Unexecuted instantiation: basics.c:hashmap_get_from_hash Unexecuted instantiation: block.c:hashmap_get_from_hash Unexecuted instantiation: blocksource.c:hashmap_get_from_hash Unexecuted instantiation: merged.c:hashmap_get_from_hash Unexecuted instantiation: pq.c:hashmap_get_from_hash Unexecuted instantiation: common-main.c:hashmap_get_from_hash  | 
360  |  |  | 
361  |  | /*  | 
362  |  |  * Returns the next equal hashmap entry, or NULL if not found. This can be  | 
363  |  |  * used to iterate over duplicate entries (see `hashmap_add`).  | 
364  |  |  *  | 
365  |  |  * `map` is the hashmap structure.  | 
366  |  |  * `entry` is the hashmap_entry to start the search from, obtained via a previous  | 
367  |  |  * call to `hashmap_get` or `hashmap_get_next`.  | 
368  |  |  */  | 
369  |  | struct hashmap_entry *hashmap_get_next(const struct hashmap *map,  | 
370  |  |                const struct hashmap_entry *entry);  | 
371  |  |  | 
372  |  | /*  | 
373  |  |  * Adds a hashmap entry. This allows to add duplicate entries (i.e.  | 
374  |  |  * separate values with the same key according to hashmap_cmp_fn).  | 
375  |  |  *  | 
376  |  |  * `map` is the hashmap structure.  | 
377  |  |  * `entry` is the entry to add.  | 
378  |  |  */  | 
379  |  | void hashmap_add(struct hashmap *map, struct hashmap_entry *entry);  | 
380  |  |  | 
381  |  | /*  | 
382  |  |  * Adds or replaces a hashmap entry. If the hashmap contains duplicate  | 
383  |  |  * entries equal to the specified entry, only one of them will be replaced.  | 
384  |  |  *  | 
385  |  |  * `map` is the hashmap structure.  | 
386  |  |  * `entry` is the entry to add or replace.  | 
387  |  |  * Returns the replaced entry, or NULL if not found (i.e. the entry was added).  | 
388  |  |  */  | 
389  |  | struct hashmap_entry *hashmap_put(struct hashmap *map,  | 
390  |  |           struct hashmap_entry *entry);  | 
391  |  |  | 
392  |  | /*  | 
393  |  |  * Adds or replaces a hashmap entry contained within @keyvar,  | 
394  |  |  * where @keyvar is a pointer to a struct containing a  | 
395  |  |  * "struct hashmap_entry" @member.  | 
396  |  |  *  | 
397  |  |  * Returns the replaced pointer which is of the same type as @keyvar,  | 
398  |  |  * or NULL if not found.  | 
399  |  |  */  | 
400  |  | #define hashmap_put_entry(map, keyvar, member) \  | 
401  | 0  |   container_of_or_null_offset(hashmap_put(map, &(keyvar)->member), \  | 
402  | 0  |         OFFSETOF_VAR(keyvar, member))  | 
403  |  |  | 
404  |  | /*  | 
405  |  |  * Removes a hashmap entry matching the specified key. If the hashmap contains  | 
406  |  |  * duplicate entries equal to the specified key, only one of them will be  | 
407  |  |  * removed. Returns the removed entry, or NULL if not found.  | 
408  |  |  *  | 
409  |  |  * Argument explanation is the same as in `hashmap_get`.  | 
410  |  |  */  | 
411  |  | struct hashmap_entry *hashmap_remove(struct hashmap *map,  | 
412  |  |              const struct hashmap_entry *key,  | 
413  |  |              const void *keydata);  | 
414  |  |  | 
415  |  | /*  | 
416  |  |  * Removes a hashmap entry contained within @keyvar,  | 
417  |  |  * where @keyvar is a pointer to a struct containing a  | 
418  |  |  * "struct hashmap_entry" @member.  | 
419  |  |  *  | 
420  |  |  * See `hashmap_get` for an explanation of @keydata  | 
421  |  |  *  | 
422  |  |  * Returns the replaced pointer which is of the same type as @keyvar,  | 
423  |  |  * or NULL if not found.  | 
424  |  |  */  | 
425  |  | #define hashmap_remove_entry(map, keyvar, member, keydata) \  | 
426  | 0  |   container_of_or_null_offset( \  | 
427  | 0  |       hashmap_remove(map, &(keyvar)->member, keydata), \  | 
428  | 0  |       OFFSETOF_VAR(keyvar, member))  | 
429  |  |  | 
430  |  | /*  | 
431  |  |  * Returns the `bucket` an entry is stored in.  | 
432  |  |  * Useful for multithreaded read access.  | 
433  |  |  */  | 
434  |  | int hashmap_bucket(const struct hashmap *map, unsigned int hash);  | 
435  |  |  | 
436  |  | /*  | 
437  |  |  * Used to iterate over all entries of a hashmap. Note that it is  | 
438  |  |  * not safe to add or remove entries to the hashmap while  | 
439  |  |  * iterating.  | 
440  |  |  */  | 
441  |  | struct hashmap_iter { | 
442  |  |   struct hashmap *map;  | 
443  |  |   struct hashmap_entry *next;  | 
444  |  |   unsigned int tablepos;  | 
445  |  | };  | 
446  |  |  | 
447  |  | /* Initializes a `hashmap_iter` structure. */  | 
448  |  | void hashmap_iter_init(struct hashmap *map, struct hashmap_iter *iter);  | 
449  |  |  | 
450  |  | /* Returns the next hashmap_entry, or NULL if there are no more entries. */  | 
451  |  | struct hashmap_entry *hashmap_iter_next(struct hashmap_iter *iter);  | 
452  |  |  | 
453  |  | /* Initializes the iterator and returns the first entry, if any. */  | 
454  |  | static inline struct hashmap_entry *hashmap_iter_first(struct hashmap *map,  | 
455  |  |                    struct hashmap_iter *iter)  | 
456  | 1.41k  | { | 
457  | 1.41k  |   hashmap_iter_init(map, iter);  | 
458  | 1.41k  |   return hashmap_iter_next(iter);  | 
459  | 1.41k  | } Unexecuted instantiation: add.c:hashmap_iter_first Unexecuted instantiation: am.c:hashmap_iter_first Unexecuted instantiation: apply.c:hashmap_iter_first Unexecuted instantiation: archive.c:hashmap_iter_first Unexecuted instantiation: bisect.c:hashmap_iter_first Unexecuted instantiation: blame.c:hashmap_iter_first Unexecuted instantiation: branch.c:hashmap_iter_first Unexecuted instantiation: bugreport.c:hashmap_iter_first Unexecuted instantiation: bundle.c:hashmap_iter_first Unexecuted instantiation: cat-file.c:hashmap_iter_first Unexecuted instantiation: check-attr.c:hashmap_iter_first Unexecuted instantiation: check-ignore.c:hashmap_iter_first Unexecuted instantiation: check-mailmap.c:hashmap_iter_first Unexecuted instantiation: check-ref-format.c:hashmap_iter_first Unexecuted instantiation: checkout--worker.c:hashmap_iter_first Unexecuted instantiation: checkout-index.c:hashmap_iter_first Unexecuted instantiation: checkout.c:hashmap_iter_first Unexecuted instantiation: clean.c:hashmap_iter_first Unexecuted instantiation: clone.c:hashmap_iter_first Unexecuted instantiation: column.c:hashmap_iter_first Unexecuted instantiation: commit-graph.c:hashmap_iter_first Unexecuted instantiation: commit-tree.c:hashmap_iter_first Unexecuted instantiation: commit.c:hashmap_iter_first config.c:hashmap_iter_first Line  | Count  | Source  |  456  | 470  | { |  457  | 470  |   hashmap_iter_init(map, iter);  |  458  | 470  |   return hashmap_iter_next(iter);  |  459  | 470  | }  |  
 Unexecuted instantiation: count-objects.c:hashmap_iter_first Unexecuted instantiation: credential-cache--daemon.c:hashmap_iter_first Unexecuted instantiation: credential-cache.c:hashmap_iter_first Unexecuted instantiation: credential-store.c:hashmap_iter_first Unexecuted instantiation: credential.c:hashmap_iter_first Unexecuted instantiation: describe.c:hashmap_iter_first Unexecuted instantiation: diagnose.c:hashmap_iter_first Unexecuted instantiation: diff-files.c:hashmap_iter_first Unexecuted instantiation: diff-index.c:hashmap_iter_first Unexecuted instantiation: diff-tree.c:hashmap_iter_first Unexecuted instantiation: diff.c:hashmap_iter_first Unexecuted instantiation: difftool.c:hashmap_iter_first Unexecuted instantiation: fast-export.c:hashmap_iter_first Unexecuted instantiation: fast-import.c:hashmap_iter_first Unexecuted instantiation: fetch-pack.c:hashmap_iter_first Unexecuted instantiation: fetch.c:hashmap_iter_first Unexecuted instantiation: fmt-merge-msg.c:hashmap_iter_first Unexecuted instantiation: for-each-ref.c:hashmap_iter_first Unexecuted instantiation: for-each-repo.c:hashmap_iter_first Unexecuted instantiation: fsck.c:hashmap_iter_first Unexecuted instantiation: fsmonitor--daemon.c:hashmap_iter_first Unexecuted instantiation: gc.c:hashmap_iter_first Unexecuted instantiation: get-tar-commit-id.c:hashmap_iter_first Unexecuted instantiation: grep.c:hashmap_iter_first Unexecuted instantiation: hash-object.c:hashmap_iter_first Unexecuted instantiation: help.c:hashmap_iter_first Unexecuted instantiation: hook.c:hashmap_iter_first Unexecuted instantiation: index-pack.c:hashmap_iter_first Unexecuted instantiation: init-db.c:hashmap_iter_first Unexecuted instantiation: interpret-trailers.c:hashmap_iter_first Unexecuted instantiation: log.c:hashmap_iter_first Unexecuted instantiation: ls-files.c:hashmap_iter_first Unexecuted instantiation: ls-remote.c:hashmap_iter_first Unexecuted instantiation: ls-tree.c:hashmap_iter_first Unexecuted instantiation: merge-base.c:hashmap_iter_first Unexecuted instantiation: merge-file.c:hashmap_iter_first Unexecuted instantiation: merge-index.c:hashmap_iter_first Unexecuted instantiation: merge-ours.c:hashmap_iter_first Unexecuted instantiation: merge-recursive.c:hashmap_iter_first Unexecuted instantiation: merge-tree.c:hashmap_iter_first Unexecuted instantiation: merge.c:hashmap_iter_first Unexecuted instantiation: mktag.c:hashmap_iter_first Unexecuted instantiation: mktree.c:hashmap_iter_first Unexecuted instantiation: multi-pack-index.c:hashmap_iter_first Unexecuted instantiation: mv.c:hashmap_iter_first Unexecuted instantiation: name-rev.c:hashmap_iter_first Unexecuted instantiation: notes.c:hashmap_iter_first Unexecuted instantiation: pack-objects.c:hashmap_iter_first Unexecuted instantiation: pack-redundant.c:hashmap_iter_first Unexecuted instantiation: pack-refs.c:hashmap_iter_first Unexecuted instantiation: patch-id.c:hashmap_iter_first Unexecuted instantiation: prune.c:hashmap_iter_first Unexecuted instantiation: pull.c:hashmap_iter_first Unexecuted instantiation: push.c:hashmap_iter_first Unexecuted instantiation: range-diff.c:hashmap_iter_first Unexecuted instantiation: read-tree.c:hashmap_iter_first Unexecuted instantiation: rebase.c:hashmap_iter_first Unexecuted instantiation: receive-pack.c:hashmap_iter_first Unexecuted instantiation: reflog.c:hashmap_iter_first Unexecuted instantiation: refs.c:hashmap_iter_first Unexecuted instantiation: remote-ext.c:hashmap_iter_first Unexecuted instantiation: remote-fd.c:hashmap_iter_first remote.c:hashmap_iter_first Line  | Count  | Source  |  456  | 188  | { |  457  | 188  |   hashmap_iter_init(map, iter);  |  458  | 188  |   return hashmap_iter_next(iter);  |  459  | 188  | }  |  
 Unexecuted instantiation: repack.c:hashmap_iter_first Unexecuted instantiation: replace.c:hashmap_iter_first Unexecuted instantiation: replay.c:hashmap_iter_first Unexecuted instantiation: rerere.c:hashmap_iter_first Unexecuted instantiation: reset.c:hashmap_iter_first Unexecuted instantiation: rev-list.c:hashmap_iter_first Unexecuted instantiation: rev-parse.c:hashmap_iter_first Unexecuted instantiation: revert.c:hashmap_iter_first Unexecuted instantiation: rm.c:hashmap_iter_first Unexecuted instantiation: send-pack.c:hashmap_iter_first Unexecuted instantiation: shortlog.c:hashmap_iter_first Unexecuted instantiation: show-branch.c:hashmap_iter_first Unexecuted instantiation: show-index.c:hashmap_iter_first Unexecuted instantiation: show-ref.c:hashmap_iter_first Unexecuted instantiation: sparse-checkout.c:hashmap_iter_first Unexecuted instantiation: stash.c:hashmap_iter_first Unexecuted instantiation: stripspace.c:hashmap_iter_first Unexecuted instantiation: submodule--helper.c:hashmap_iter_first Unexecuted instantiation: symbolic-ref.c:hashmap_iter_first Unexecuted instantiation: tag.c:hashmap_iter_first Unexecuted instantiation: unpack-file.c:hashmap_iter_first Unexecuted instantiation: unpack-objects.c:hashmap_iter_first Unexecuted instantiation: update-index.c:hashmap_iter_first Unexecuted instantiation: update-ref.c:hashmap_iter_first Unexecuted instantiation: update-server-info.c:hashmap_iter_first Unexecuted instantiation: upload-archive.c:hashmap_iter_first Unexecuted instantiation: upload-pack.c:hashmap_iter_first Unexecuted instantiation: var.c:hashmap_iter_first Unexecuted instantiation: verify-commit.c:hashmap_iter_first Unexecuted instantiation: verify-pack.c:hashmap_iter_first Unexecuted instantiation: verify-tag.c:hashmap_iter_first Unexecuted instantiation: worktree.c:hashmap_iter_first Unexecuted instantiation: write-tree.c:hashmap_iter_first Unexecuted instantiation: git.c:hashmap_iter_first Unexecuted instantiation: fuzz-cmd-bundle-verify.c:hashmap_iter_first Unexecuted instantiation: add-interactive.c:hashmap_iter_first Unexecuted instantiation: add-patch.c:hashmap_iter_first Unexecuted instantiation: advice.c:hashmap_iter_first Unexecuted instantiation: alias.c:hashmap_iter_first Unexecuted instantiation: attr.c:hashmap_iter_first Unexecuted instantiation: bloom.c:hashmap_iter_first Unexecuted instantiation: bulk-checkin.c:hashmap_iter_first Unexecuted instantiation: bundle-uri.c:hashmap_iter_first Unexecuted instantiation: cache-tree.c:hashmap_iter_first Unexecuted instantiation: color.c:hashmap_iter_first Unexecuted instantiation: combine-diff.c:hashmap_iter_first Unexecuted instantiation: commit-reach.c:hashmap_iter_first Unexecuted instantiation: terminal.c:hashmap_iter_first Unexecuted instantiation: connect.c:hashmap_iter_first Unexecuted instantiation: connected.c:hashmap_iter_first Unexecuted instantiation: convert.c:hashmap_iter_first Unexecuted instantiation: csum-file.c:hashmap_iter_first Unexecuted instantiation: delta-islands.c:hashmap_iter_first Unexecuted instantiation: diff-lib.c:hashmap_iter_first Unexecuted instantiation: diff-no-index.c:hashmap_iter_first Unexecuted instantiation: diffcore-break.c:hashmap_iter_first Unexecuted instantiation: diffcore-rename.c:hashmap_iter_first Unexecuted instantiation: dir-iterator.c:hashmap_iter_first Unexecuted instantiation: dir.c:hashmap_iter_first Unexecuted instantiation: editor.c:hashmap_iter_first Unexecuted instantiation: entry.c:hashmap_iter_first Unexecuted instantiation: environment.c:hashmap_iter_first Unexecuted instantiation: fsmonitor.c:hashmap_iter_first Unexecuted instantiation: fsmonitor-ipc.c:hashmap_iter_first Unexecuted instantiation: fsmonitor-settings.c:hashmap_iter_first Unexecuted instantiation: gpg-interface.c:hashmap_iter_first Unexecuted instantiation: graph.c:hashmap_iter_first Unexecuted instantiation: hash-lookup.c:hashmap_iter_first Unexecuted instantiation: hashmap.c:hashmap_iter_first Unexecuted instantiation: hex.c:hashmap_iter_first Unexecuted instantiation: ident.c:hashmap_iter_first Unexecuted instantiation: line-log.c:hashmap_iter_first Unexecuted instantiation: list-objects-filter-options.c:hashmap_iter_first Unexecuted instantiation: list-objects.c:hashmap_iter_first Unexecuted instantiation: log-tree.c:hashmap_iter_first Unexecuted instantiation: mailinfo.c:hashmap_iter_first Unexecuted instantiation: mailmap.c:hashmap_iter_first Unexecuted instantiation: merge-blobs.c:hashmap_iter_first Unexecuted instantiation: merge-ll.c:hashmap_iter_first Unexecuted instantiation: merge-ort.c:hashmap_iter_first Unexecuted instantiation: merge-ort-wrappers.c:hashmap_iter_first Unexecuted instantiation: midx.c:hashmap_iter_first Unexecuted instantiation: midx-write.c:hashmap_iter_first Unexecuted instantiation: name-hash.c:hashmap_iter_first Unexecuted instantiation: notes-cache.c:hashmap_iter_first Unexecuted instantiation: notes-merge.c:hashmap_iter_first Unexecuted instantiation: notes-utils.c:hashmap_iter_first Unexecuted instantiation: object-file-convert.c:hashmap_iter_first Unexecuted instantiation: object-file.c:hashmap_iter_first Unexecuted instantiation: object-name.c:hashmap_iter_first Unexecuted instantiation: object.c:hashmap_iter_first Unexecuted instantiation: oid-array.c:hashmap_iter_first Unexecuted instantiation: oidmap.c:hashmap_iter_first Unexecuted instantiation: fuzz-cmd-base.c:hashmap_iter_first Unexecuted instantiation: pack-bitmap-write.c:hashmap_iter_first Unexecuted instantiation: pack-bitmap.c:hashmap_iter_first Unexecuted instantiation: pack-check.c:hashmap_iter_first Unexecuted instantiation: pack-mtimes.c:hashmap_iter_first Unexecuted instantiation: pack-revindex.c:hashmap_iter_first Unexecuted instantiation: pack-write.c:hashmap_iter_first Unexecuted instantiation: packfile.c:hashmap_iter_first Unexecuted instantiation: pager.c:hashmap_iter_first Unexecuted instantiation: parallel-checkout.c:hashmap_iter_first Unexecuted instantiation: parse-options-cb.c:hashmap_iter_first Unexecuted instantiation: patch-ids.c:hashmap_iter_first Unexecuted instantiation: path.c:hashmap_iter_first Unexecuted instantiation: pathspec.c:hashmap_iter_first Unexecuted instantiation: preload-index.c:hashmap_iter_first Unexecuted instantiation: pretty.c:hashmap_iter_first Unexecuted instantiation: progress.c:hashmap_iter_first Unexecuted instantiation: promisor-remote.c:hashmap_iter_first Unexecuted instantiation: protocol.c:hashmap_iter_first Unexecuted instantiation: prune-packed.c:hashmap_iter_first Unexecuted instantiation: pseudo-merge.c:hashmap_iter_first Unexecuted instantiation: reachable.c:hashmap_iter_first Unexecuted instantiation: read-cache.c:hashmap_iter_first Unexecuted instantiation: rebase-interactive.c:hashmap_iter_first Unexecuted instantiation: ref-filter.c:hashmap_iter_first Unexecuted instantiation: reflog-walk.c:hashmap_iter_first Unexecuted instantiation: debug.c:hashmap_iter_first Unexecuted instantiation: files-backend.c:hashmap_iter_first Unexecuted instantiation: reftable-backend.c:hashmap_iter_first Unexecuted instantiation: iterator.c:hashmap_iter_first Unexecuted instantiation: packed-backend.c:hashmap_iter_first Unexecuted instantiation: ref-cache.c:hashmap_iter_first Unexecuted instantiation: refspec.c:hashmap_iter_first Unexecuted instantiation: replace-object.c:hashmap_iter_first Unexecuted instantiation: repo-settings.c:hashmap_iter_first repository.c:hashmap_iter_first Line  | Count  | Source  |  456  | 376  | { |  457  | 376  |   hashmap_iter_init(map, iter);  |  458  | 376  |   return hashmap_iter_next(iter);  |  459  | 376  | }  |  
 Unexecuted instantiation: resolve-undo.c:hashmap_iter_first Unexecuted instantiation: revision.c:hashmap_iter_first Unexecuted instantiation: run-command.c:hashmap_iter_first Unexecuted instantiation: sequencer.c:hashmap_iter_first Unexecuted instantiation: serve.c:hashmap_iter_first Unexecuted instantiation: server-info.c:hashmap_iter_first Unexecuted instantiation: setup.c:hashmap_iter_first Unexecuted instantiation: shallow.c:hashmap_iter_first Unexecuted instantiation: sideband.c:hashmap_iter_first Unexecuted instantiation: sparse-index.c:hashmap_iter_first Unexecuted instantiation: split-index.c:hashmap_iter_first Unexecuted instantiation: streaming.c:hashmap_iter_first strmap.c:hashmap_iter_first Line  | Count  | Source  |  456  | 376  | { |  457  | 376  |   hashmap_iter_init(map, iter);  |  458  | 376  |   return hashmap_iter_next(iter);  |  459  | 376  | }  |  
 Unexecuted instantiation: sub-process.c:hashmap_iter_first Unexecuted instantiation: submodule-config.c:hashmap_iter_first Unexecuted instantiation: submodule.c:hashmap_iter_first Unexecuted instantiation: symlinks.c:hashmap_iter_first Unexecuted instantiation: tmp-objdir.c:hashmap_iter_first Unexecuted instantiation: trace.c:hashmap_iter_first Unexecuted instantiation: trace2.c:hashmap_iter_first Unexecuted instantiation: tr2_cfg.c:hashmap_iter_first Unexecuted instantiation: tr2_sysenv.c:hashmap_iter_first Unexecuted instantiation: tr2_tgt_event.c:hashmap_iter_first Unexecuted instantiation: tr2_tgt_normal.c:hashmap_iter_first Unexecuted instantiation: tr2_tgt_perf.c:hashmap_iter_first Unexecuted instantiation: trailer.c:hashmap_iter_first Unexecuted instantiation: transport-helper.c:hashmap_iter_first Unexecuted instantiation: transport.c:hashmap_iter_first Unexecuted instantiation: tree-diff.c:hashmap_iter_first Unexecuted instantiation: tree-walk.c:hashmap_iter_first Unexecuted instantiation: tree.c:hashmap_iter_first Unexecuted instantiation: unpack-trees.c:hashmap_iter_first Unexecuted instantiation: urlmatch.c:hashmap_iter_first Unexecuted instantiation: userdiff.c:hashmap_iter_first Unexecuted instantiation: versioncmp.c:hashmap_iter_first Unexecuted instantiation: wt-status.c:hashmap_iter_first Unexecuted instantiation: xdiff-interface.c:hashmap_iter_first Unexecuted instantiation: alloc.c:hashmap_iter_first Unexecuted instantiation: archive-tar.c:hashmap_iter_first Unexecuted instantiation: archive-zip.c:hashmap_iter_first Unexecuted instantiation: chunk-format.c:hashmap_iter_first Unexecuted instantiation: fetch-negotiator.c:hashmap_iter_first Unexecuted instantiation: list-objects-filter.c:hashmap_iter_first Unexecuted instantiation: loose.c:hashmap_iter_first Unexecuted instantiation: ls-refs.c:hashmap_iter_first Unexecuted instantiation: match-trees.c:hashmap_iter_first Unexecuted instantiation: default.c:hashmap_iter_first Unexecuted instantiation: skipping.c:hashmap_iter_first Unexecuted instantiation: protocol-caps.c:hashmap_iter_first Unexecuted instantiation: error.c:hashmap_iter_first Unexecuted instantiation: iter.c:hashmap_iter_first Unexecuted instantiation: publicbasics.c:hashmap_iter_first Unexecuted instantiation: reader.c:hashmap_iter_first Unexecuted instantiation: record.c:hashmap_iter_first Unexecuted instantiation: stack.c:hashmap_iter_first Unexecuted instantiation: writer.c:hashmap_iter_first Unexecuted instantiation: basics.c:hashmap_iter_first Unexecuted instantiation: block.c:hashmap_iter_first Unexecuted instantiation: blocksource.c:hashmap_iter_first Unexecuted instantiation: merged.c:hashmap_iter_first Unexecuted instantiation: pq.c:hashmap_iter_first Unexecuted instantiation: common-main.c:hashmap_iter_first  | 
460  |  |  | 
461  |  | /*  | 
462  |  |  * returns the first entry in @map using @iter, where the entry is of  | 
463  |  |  * @type (e.g. "struct foo") and @member is the name of the  | 
464  |  |  * "struct hashmap_entry" in @type  | 
465  |  |  */  | 
466  |  | #define hashmap_iter_first_entry(map, iter, type, member) \  | 
467  | 0  |   container_of_or_null(hashmap_iter_first(map, iter), type, member)  | 
468  |  |  | 
469  |  | /* internal macro for hashmap_for_each_entry */  | 
470  |  | #define hashmap_iter_next_entry_offset(iter, offset) \  | 
471  | 1.10k  |   container_of_or_null_offset(hashmap_iter_next(iter), offset)  | 
472  |  |  | 
473  |  | /* internal macro for hashmap_for_each_entry */  | 
474  |  | #define hashmap_iter_first_entry_offset(map, iter, offset) \  | 
475  | 1.78k  |   container_of_or_null_offset(hashmap_iter_first(map, iter), offset)  | 
476  |  |  | 
477  |  | /*  | 
478  |  |  * iterate through @map using @iter, @var is a pointer to a type  | 
479  |  |  * containing a @member which is a "struct hashmap_entry"  | 
480  |  |  */  | 
481  |  | #define hashmap_for_each_entry(map, iter, var, member) \  | 
482  | 1.41k  |   for (var = NULL, /* for systems without typeof */ \  | 
483  | 1.78k  |        var = hashmap_iter_first_entry_offset(map, iter, \  | 
484  | 1.41k  |             OFFSETOF_VAR(var, member)); \  | 
485  | 2.51k  |     var; \  | 
486  | 1.41k  |     var = hashmap_iter_next_entry_offset(iter, \  | 
487  | 1.41k  |             OFFSETOF_VAR(var, member)))  | 
488  |  |  | 
489  |  | /*  | 
490  |  |  * returns a pointer of type matching @keyvar, or NULL if nothing found.  | 
491  |  |  * @keyvar is a pointer to a struct containing a  | 
492  |  |  * "struct hashmap_entry" @member.  | 
493  |  |  */  | 
494  |  | #define hashmap_get_entry(map, keyvar, member, keydata) \  | 
495  | 2.38k  |   container_of_or_null_offset( \  | 
496  | 2.38k  |         hashmap_get(map, &(keyvar)->member, keydata), \  | 
497  | 2.38k  |         OFFSETOF_VAR(keyvar, member))  | 
498  |  |  | 
499  |  | #define hashmap_get_entry_from_hash(map, hash, keydata, type, member) \  | 
500  | 0  |   container_of_or_null(hashmap_get_from_hash(map, hash, keydata), \  | 
501  | 0  |         type, member)  | 
502  |  | /*  | 
503  |  |  * returns the next equal pointer to @var, or NULL if not found.  | 
504  |  |  * @var is a pointer of any type containing "struct hashmap_entry"  | 
505  |  |  * @member is the name of the "struct hashmap_entry" field  | 
506  |  |  */  | 
507  |  | #define hashmap_get_next_entry(map, var, member) \  | 
508  | 0  |   container_of_or_null_offset(hashmap_get_next(map, &(var)->member), \  | 
509  | 0  |         OFFSETOF_VAR(var, member))  | 
510  |  |  | 
511  |  | /*  | 
512  |  |  * iterate @map starting from @var, where @var is a pointer of @type  | 
513  |  |  * and @member is the name of the "struct hashmap_entry" field in @type  | 
514  |  |  */  | 
515  |  | #define hashmap_for_each_entry_from(map, var, member) \  | 
516  | 0  |   for (; \  | 
517  | 0  |     var; \  | 
518  | 0  |     var = hashmap_get_next_entry(map, var, member))  | 
519  |  |  | 
520  |  | /*  | 
521  |  |  * Disable item counting and automatic rehashing when adding/removing items.  | 
522  |  |  *  | 
523  |  |  * Normally, the hashmap keeps track of the number of items in the map  | 
524  |  |  * and uses it to dynamically resize it.  This (both the counting and  | 
525  |  |  * the resizing) can cause problems when the map is being used by  | 
526  |  |  * threaded callers (because the hashmap code does not know about the  | 
527  |  |  * locking strategy used by the threaded callers and therefore, does  | 
528  |  |  * not know how to protect the "private_size" counter).  | 
529  |  |  */  | 
530  |  | static inline void hashmap_disable_item_counting(struct hashmap *map)  | 
531  | 0  | { | 
532  | 0  |   map->do_count_items = 0;  | 
533  | 0  | } Unexecuted instantiation: add.c:hashmap_disable_item_counting Unexecuted instantiation: am.c:hashmap_disable_item_counting Unexecuted instantiation: apply.c:hashmap_disable_item_counting Unexecuted instantiation: archive.c:hashmap_disable_item_counting Unexecuted instantiation: bisect.c:hashmap_disable_item_counting Unexecuted instantiation: blame.c:hashmap_disable_item_counting Unexecuted instantiation: branch.c:hashmap_disable_item_counting Unexecuted instantiation: bugreport.c:hashmap_disable_item_counting Unexecuted instantiation: bundle.c:hashmap_disable_item_counting Unexecuted instantiation: cat-file.c:hashmap_disable_item_counting Unexecuted instantiation: check-attr.c:hashmap_disable_item_counting Unexecuted instantiation: check-ignore.c:hashmap_disable_item_counting Unexecuted instantiation: check-mailmap.c:hashmap_disable_item_counting Unexecuted instantiation: check-ref-format.c:hashmap_disable_item_counting Unexecuted instantiation: checkout--worker.c:hashmap_disable_item_counting Unexecuted instantiation: checkout-index.c:hashmap_disable_item_counting Unexecuted instantiation: checkout.c:hashmap_disable_item_counting Unexecuted instantiation: clean.c:hashmap_disable_item_counting Unexecuted instantiation: clone.c:hashmap_disable_item_counting Unexecuted instantiation: column.c:hashmap_disable_item_counting Unexecuted instantiation: commit-graph.c:hashmap_disable_item_counting Unexecuted instantiation: commit-tree.c:hashmap_disable_item_counting Unexecuted instantiation: commit.c:hashmap_disable_item_counting Unexecuted instantiation: config.c:hashmap_disable_item_counting Unexecuted instantiation: count-objects.c:hashmap_disable_item_counting Unexecuted instantiation: credential-cache--daemon.c:hashmap_disable_item_counting Unexecuted instantiation: credential-cache.c:hashmap_disable_item_counting Unexecuted instantiation: credential-store.c:hashmap_disable_item_counting Unexecuted instantiation: credential.c:hashmap_disable_item_counting Unexecuted instantiation: describe.c:hashmap_disable_item_counting Unexecuted instantiation: diagnose.c:hashmap_disable_item_counting Unexecuted instantiation: diff-files.c:hashmap_disable_item_counting Unexecuted instantiation: diff-index.c:hashmap_disable_item_counting Unexecuted instantiation: diff-tree.c:hashmap_disable_item_counting Unexecuted instantiation: diff.c:hashmap_disable_item_counting Unexecuted instantiation: difftool.c:hashmap_disable_item_counting Unexecuted instantiation: fast-export.c:hashmap_disable_item_counting Unexecuted instantiation: fast-import.c:hashmap_disable_item_counting Unexecuted instantiation: fetch-pack.c:hashmap_disable_item_counting Unexecuted instantiation: fetch.c:hashmap_disable_item_counting Unexecuted instantiation: fmt-merge-msg.c:hashmap_disable_item_counting Unexecuted instantiation: for-each-ref.c:hashmap_disable_item_counting Unexecuted instantiation: for-each-repo.c:hashmap_disable_item_counting Unexecuted instantiation: fsck.c:hashmap_disable_item_counting Unexecuted instantiation: fsmonitor--daemon.c:hashmap_disable_item_counting Unexecuted instantiation: gc.c:hashmap_disable_item_counting Unexecuted instantiation: get-tar-commit-id.c:hashmap_disable_item_counting Unexecuted instantiation: grep.c:hashmap_disable_item_counting Unexecuted instantiation: hash-object.c:hashmap_disable_item_counting Unexecuted instantiation: help.c:hashmap_disable_item_counting Unexecuted instantiation: hook.c:hashmap_disable_item_counting Unexecuted instantiation: index-pack.c:hashmap_disable_item_counting Unexecuted instantiation: init-db.c:hashmap_disable_item_counting Unexecuted instantiation: interpret-trailers.c:hashmap_disable_item_counting Unexecuted instantiation: log.c:hashmap_disable_item_counting Unexecuted instantiation: ls-files.c:hashmap_disable_item_counting Unexecuted instantiation: ls-remote.c:hashmap_disable_item_counting Unexecuted instantiation: ls-tree.c:hashmap_disable_item_counting Unexecuted instantiation: merge-base.c:hashmap_disable_item_counting Unexecuted instantiation: merge-file.c:hashmap_disable_item_counting Unexecuted instantiation: merge-index.c:hashmap_disable_item_counting Unexecuted instantiation: merge-ours.c:hashmap_disable_item_counting Unexecuted instantiation: merge-recursive.c:hashmap_disable_item_counting Unexecuted instantiation: merge-tree.c:hashmap_disable_item_counting Unexecuted instantiation: merge.c:hashmap_disable_item_counting Unexecuted instantiation: mktag.c:hashmap_disable_item_counting Unexecuted instantiation: mktree.c:hashmap_disable_item_counting Unexecuted instantiation: multi-pack-index.c:hashmap_disable_item_counting Unexecuted instantiation: mv.c:hashmap_disable_item_counting Unexecuted instantiation: name-rev.c:hashmap_disable_item_counting Unexecuted instantiation: notes.c:hashmap_disable_item_counting Unexecuted instantiation: pack-objects.c:hashmap_disable_item_counting Unexecuted instantiation: pack-redundant.c:hashmap_disable_item_counting Unexecuted instantiation: pack-refs.c:hashmap_disable_item_counting Unexecuted instantiation: patch-id.c:hashmap_disable_item_counting Unexecuted instantiation: prune.c:hashmap_disable_item_counting Unexecuted instantiation: pull.c:hashmap_disable_item_counting Unexecuted instantiation: push.c:hashmap_disable_item_counting Unexecuted instantiation: range-diff.c:hashmap_disable_item_counting Unexecuted instantiation: read-tree.c:hashmap_disable_item_counting Unexecuted instantiation: rebase.c:hashmap_disable_item_counting Unexecuted instantiation: receive-pack.c:hashmap_disable_item_counting Unexecuted instantiation: reflog.c:hashmap_disable_item_counting Unexecuted instantiation: refs.c:hashmap_disable_item_counting Unexecuted instantiation: remote-ext.c:hashmap_disable_item_counting Unexecuted instantiation: remote-fd.c:hashmap_disable_item_counting Unexecuted instantiation: remote.c:hashmap_disable_item_counting Unexecuted instantiation: repack.c:hashmap_disable_item_counting Unexecuted instantiation: replace.c:hashmap_disable_item_counting Unexecuted instantiation: replay.c:hashmap_disable_item_counting Unexecuted instantiation: rerere.c:hashmap_disable_item_counting Unexecuted instantiation: reset.c:hashmap_disable_item_counting Unexecuted instantiation: rev-list.c:hashmap_disable_item_counting Unexecuted instantiation: rev-parse.c:hashmap_disable_item_counting Unexecuted instantiation: revert.c:hashmap_disable_item_counting Unexecuted instantiation: rm.c:hashmap_disable_item_counting Unexecuted instantiation: send-pack.c:hashmap_disable_item_counting Unexecuted instantiation: shortlog.c:hashmap_disable_item_counting Unexecuted instantiation: show-branch.c:hashmap_disable_item_counting Unexecuted instantiation: show-index.c:hashmap_disable_item_counting Unexecuted instantiation: show-ref.c:hashmap_disable_item_counting Unexecuted instantiation: sparse-checkout.c:hashmap_disable_item_counting Unexecuted instantiation: stash.c:hashmap_disable_item_counting Unexecuted instantiation: stripspace.c:hashmap_disable_item_counting Unexecuted instantiation: submodule--helper.c:hashmap_disable_item_counting Unexecuted instantiation: symbolic-ref.c:hashmap_disable_item_counting Unexecuted instantiation: tag.c:hashmap_disable_item_counting Unexecuted instantiation: unpack-file.c:hashmap_disable_item_counting Unexecuted instantiation: unpack-objects.c:hashmap_disable_item_counting Unexecuted instantiation: update-index.c:hashmap_disable_item_counting Unexecuted instantiation: update-ref.c:hashmap_disable_item_counting Unexecuted instantiation: update-server-info.c:hashmap_disable_item_counting Unexecuted instantiation: upload-archive.c:hashmap_disable_item_counting Unexecuted instantiation: upload-pack.c:hashmap_disable_item_counting Unexecuted instantiation: var.c:hashmap_disable_item_counting Unexecuted instantiation: verify-commit.c:hashmap_disable_item_counting Unexecuted instantiation: verify-pack.c:hashmap_disable_item_counting Unexecuted instantiation: verify-tag.c:hashmap_disable_item_counting Unexecuted instantiation: worktree.c:hashmap_disable_item_counting Unexecuted instantiation: write-tree.c:hashmap_disable_item_counting Unexecuted instantiation: git.c:hashmap_disable_item_counting Unexecuted instantiation: fuzz-cmd-bundle-verify.c:hashmap_disable_item_counting Unexecuted instantiation: add-interactive.c:hashmap_disable_item_counting Unexecuted instantiation: add-patch.c:hashmap_disable_item_counting Unexecuted instantiation: advice.c:hashmap_disable_item_counting Unexecuted instantiation: alias.c:hashmap_disable_item_counting Unexecuted instantiation: attr.c:hashmap_disable_item_counting Unexecuted instantiation: bloom.c:hashmap_disable_item_counting Unexecuted instantiation: bulk-checkin.c:hashmap_disable_item_counting Unexecuted instantiation: bundle-uri.c:hashmap_disable_item_counting Unexecuted instantiation: cache-tree.c:hashmap_disable_item_counting Unexecuted instantiation: color.c:hashmap_disable_item_counting Unexecuted instantiation: combine-diff.c:hashmap_disable_item_counting Unexecuted instantiation: commit-reach.c:hashmap_disable_item_counting Unexecuted instantiation: terminal.c:hashmap_disable_item_counting Unexecuted instantiation: connect.c:hashmap_disable_item_counting Unexecuted instantiation: connected.c:hashmap_disable_item_counting Unexecuted instantiation: convert.c:hashmap_disable_item_counting Unexecuted instantiation: csum-file.c:hashmap_disable_item_counting Unexecuted instantiation: delta-islands.c:hashmap_disable_item_counting Unexecuted instantiation: diff-lib.c:hashmap_disable_item_counting Unexecuted instantiation: diff-no-index.c:hashmap_disable_item_counting Unexecuted instantiation: diffcore-break.c:hashmap_disable_item_counting Unexecuted instantiation: diffcore-rename.c:hashmap_disable_item_counting Unexecuted instantiation: dir-iterator.c:hashmap_disable_item_counting Unexecuted instantiation: dir.c:hashmap_disable_item_counting Unexecuted instantiation: editor.c:hashmap_disable_item_counting Unexecuted instantiation: entry.c:hashmap_disable_item_counting Unexecuted instantiation: environment.c:hashmap_disable_item_counting Unexecuted instantiation: fsmonitor.c:hashmap_disable_item_counting Unexecuted instantiation: fsmonitor-ipc.c:hashmap_disable_item_counting Unexecuted instantiation: fsmonitor-settings.c:hashmap_disable_item_counting Unexecuted instantiation: gpg-interface.c:hashmap_disable_item_counting Unexecuted instantiation: graph.c:hashmap_disable_item_counting Unexecuted instantiation: hash-lookup.c:hashmap_disable_item_counting Unexecuted instantiation: hashmap.c:hashmap_disable_item_counting Unexecuted instantiation: hex.c:hashmap_disable_item_counting Unexecuted instantiation: ident.c:hashmap_disable_item_counting Unexecuted instantiation: line-log.c:hashmap_disable_item_counting Unexecuted instantiation: list-objects-filter-options.c:hashmap_disable_item_counting Unexecuted instantiation: list-objects.c:hashmap_disable_item_counting Unexecuted instantiation: log-tree.c:hashmap_disable_item_counting Unexecuted instantiation: mailinfo.c:hashmap_disable_item_counting Unexecuted instantiation: mailmap.c:hashmap_disable_item_counting Unexecuted instantiation: merge-blobs.c:hashmap_disable_item_counting Unexecuted instantiation: merge-ll.c:hashmap_disable_item_counting Unexecuted instantiation: merge-ort.c:hashmap_disable_item_counting Unexecuted instantiation: merge-ort-wrappers.c:hashmap_disable_item_counting Unexecuted instantiation: midx.c:hashmap_disable_item_counting Unexecuted instantiation: midx-write.c:hashmap_disable_item_counting Unexecuted instantiation: name-hash.c:hashmap_disable_item_counting Unexecuted instantiation: notes-cache.c:hashmap_disable_item_counting Unexecuted instantiation: notes-merge.c:hashmap_disable_item_counting Unexecuted instantiation: notes-utils.c:hashmap_disable_item_counting Unexecuted instantiation: object-file-convert.c:hashmap_disable_item_counting Unexecuted instantiation: object-file.c:hashmap_disable_item_counting Unexecuted instantiation: object-name.c:hashmap_disable_item_counting Unexecuted instantiation: object.c:hashmap_disable_item_counting Unexecuted instantiation: oid-array.c:hashmap_disable_item_counting Unexecuted instantiation: oidmap.c:hashmap_disable_item_counting Unexecuted instantiation: fuzz-cmd-base.c:hashmap_disable_item_counting Unexecuted instantiation: pack-bitmap-write.c:hashmap_disable_item_counting Unexecuted instantiation: pack-bitmap.c:hashmap_disable_item_counting Unexecuted instantiation: pack-check.c:hashmap_disable_item_counting Unexecuted instantiation: pack-mtimes.c:hashmap_disable_item_counting Unexecuted instantiation: pack-revindex.c:hashmap_disable_item_counting Unexecuted instantiation: pack-write.c:hashmap_disable_item_counting Unexecuted instantiation: packfile.c:hashmap_disable_item_counting Unexecuted instantiation: pager.c:hashmap_disable_item_counting Unexecuted instantiation: parallel-checkout.c:hashmap_disable_item_counting Unexecuted instantiation: parse-options-cb.c:hashmap_disable_item_counting Unexecuted instantiation: patch-ids.c:hashmap_disable_item_counting Unexecuted instantiation: path.c:hashmap_disable_item_counting Unexecuted instantiation: pathspec.c:hashmap_disable_item_counting Unexecuted instantiation: preload-index.c:hashmap_disable_item_counting Unexecuted instantiation: pretty.c:hashmap_disable_item_counting Unexecuted instantiation: progress.c:hashmap_disable_item_counting Unexecuted instantiation: promisor-remote.c:hashmap_disable_item_counting Unexecuted instantiation: protocol.c:hashmap_disable_item_counting Unexecuted instantiation: prune-packed.c:hashmap_disable_item_counting Unexecuted instantiation: pseudo-merge.c:hashmap_disable_item_counting Unexecuted instantiation: reachable.c:hashmap_disable_item_counting Unexecuted instantiation: read-cache.c:hashmap_disable_item_counting Unexecuted instantiation: rebase-interactive.c:hashmap_disable_item_counting Unexecuted instantiation: ref-filter.c:hashmap_disable_item_counting Unexecuted instantiation: reflog-walk.c:hashmap_disable_item_counting Unexecuted instantiation: debug.c:hashmap_disable_item_counting Unexecuted instantiation: files-backend.c:hashmap_disable_item_counting Unexecuted instantiation: reftable-backend.c:hashmap_disable_item_counting Unexecuted instantiation: iterator.c:hashmap_disable_item_counting Unexecuted instantiation: packed-backend.c:hashmap_disable_item_counting Unexecuted instantiation: ref-cache.c:hashmap_disable_item_counting Unexecuted instantiation: refspec.c:hashmap_disable_item_counting Unexecuted instantiation: replace-object.c:hashmap_disable_item_counting Unexecuted instantiation: repo-settings.c:hashmap_disable_item_counting Unexecuted instantiation: repository.c:hashmap_disable_item_counting Unexecuted instantiation: resolve-undo.c:hashmap_disable_item_counting Unexecuted instantiation: revision.c:hashmap_disable_item_counting Unexecuted instantiation: run-command.c:hashmap_disable_item_counting Unexecuted instantiation: sequencer.c:hashmap_disable_item_counting Unexecuted instantiation: serve.c:hashmap_disable_item_counting Unexecuted instantiation: server-info.c:hashmap_disable_item_counting Unexecuted instantiation: setup.c:hashmap_disable_item_counting Unexecuted instantiation: shallow.c:hashmap_disable_item_counting Unexecuted instantiation: sideband.c:hashmap_disable_item_counting Unexecuted instantiation: sparse-index.c:hashmap_disable_item_counting Unexecuted instantiation: split-index.c:hashmap_disable_item_counting Unexecuted instantiation: streaming.c:hashmap_disable_item_counting Unexecuted instantiation: strmap.c:hashmap_disable_item_counting Unexecuted instantiation: sub-process.c:hashmap_disable_item_counting Unexecuted instantiation: submodule-config.c:hashmap_disable_item_counting Unexecuted instantiation: submodule.c:hashmap_disable_item_counting Unexecuted instantiation: symlinks.c:hashmap_disable_item_counting Unexecuted instantiation: tmp-objdir.c:hashmap_disable_item_counting Unexecuted instantiation: trace.c:hashmap_disable_item_counting Unexecuted instantiation: trace2.c:hashmap_disable_item_counting Unexecuted instantiation: tr2_cfg.c:hashmap_disable_item_counting Unexecuted instantiation: tr2_sysenv.c:hashmap_disable_item_counting Unexecuted instantiation: tr2_tgt_event.c:hashmap_disable_item_counting Unexecuted instantiation: tr2_tgt_normal.c:hashmap_disable_item_counting Unexecuted instantiation: tr2_tgt_perf.c:hashmap_disable_item_counting Unexecuted instantiation: trailer.c:hashmap_disable_item_counting Unexecuted instantiation: transport-helper.c:hashmap_disable_item_counting Unexecuted instantiation: transport.c:hashmap_disable_item_counting Unexecuted instantiation: tree-diff.c:hashmap_disable_item_counting Unexecuted instantiation: tree-walk.c:hashmap_disable_item_counting Unexecuted instantiation: tree.c:hashmap_disable_item_counting Unexecuted instantiation: unpack-trees.c:hashmap_disable_item_counting Unexecuted instantiation: urlmatch.c:hashmap_disable_item_counting Unexecuted instantiation: userdiff.c:hashmap_disable_item_counting Unexecuted instantiation: versioncmp.c:hashmap_disable_item_counting Unexecuted instantiation: wt-status.c:hashmap_disable_item_counting Unexecuted instantiation: xdiff-interface.c:hashmap_disable_item_counting Unexecuted instantiation: alloc.c:hashmap_disable_item_counting Unexecuted instantiation: archive-tar.c:hashmap_disable_item_counting Unexecuted instantiation: archive-zip.c:hashmap_disable_item_counting Unexecuted instantiation: chunk-format.c:hashmap_disable_item_counting Unexecuted instantiation: fetch-negotiator.c:hashmap_disable_item_counting Unexecuted instantiation: list-objects-filter.c:hashmap_disable_item_counting Unexecuted instantiation: loose.c:hashmap_disable_item_counting Unexecuted instantiation: ls-refs.c:hashmap_disable_item_counting Unexecuted instantiation: match-trees.c:hashmap_disable_item_counting Unexecuted instantiation: default.c:hashmap_disable_item_counting Unexecuted instantiation: skipping.c:hashmap_disable_item_counting Unexecuted instantiation: protocol-caps.c:hashmap_disable_item_counting Unexecuted instantiation: error.c:hashmap_disable_item_counting Unexecuted instantiation: iter.c:hashmap_disable_item_counting Unexecuted instantiation: publicbasics.c:hashmap_disable_item_counting Unexecuted instantiation: reader.c:hashmap_disable_item_counting Unexecuted instantiation: record.c:hashmap_disable_item_counting Unexecuted instantiation: stack.c:hashmap_disable_item_counting Unexecuted instantiation: writer.c:hashmap_disable_item_counting Unexecuted instantiation: basics.c:hashmap_disable_item_counting Unexecuted instantiation: block.c:hashmap_disable_item_counting Unexecuted instantiation: blocksource.c:hashmap_disable_item_counting Unexecuted instantiation: merged.c:hashmap_disable_item_counting Unexecuted instantiation: pq.c:hashmap_disable_item_counting Unexecuted instantiation: common-main.c:hashmap_disable_item_counting  | 
534  |  |  | 
535  |  | /*  | 
536  |  |  * Re-enable item counting when adding/removing items.  | 
537  |  |  * If counting is currently disabled, it will force count them.  | 
538  |  |  * It WILL NOT automatically rehash them.  | 
539  |  |  */  | 
540  |  | static inline void hashmap_enable_item_counting(struct hashmap *map)  | 
541  | 0  | { | 
542  | 0  |   unsigned int n = 0;  | 
543  | 0  |   struct hashmap_iter iter;  | 
544  |  | 
  | 
545  | 0  |   if (map->do_count_items)  | 
546  | 0  |     return;  | 
547  |  |  | 
548  | 0  |   hashmap_iter_init(map, &iter);  | 
549  | 0  |   while (hashmap_iter_next(&iter))  | 
550  | 0  |     n++;  | 
551  |  | 
  | 
552  | 0  |   map->do_count_items = 1;  | 
553  | 0  |   map->private_size = n;  | 
554  | 0  | } Unexecuted instantiation: add.c:hashmap_enable_item_counting Unexecuted instantiation: am.c:hashmap_enable_item_counting Unexecuted instantiation: apply.c:hashmap_enable_item_counting Unexecuted instantiation: archive.c:hashmap_enable_item_counting Unexecuted instantiation: bisect.c:hashmap_enable_item_counting Unexecuted instantiation: blame.c:hashmap_enable_item_counting Unexecuted instantiation: branch.c:hashmap_enable_item_counting Unexecuted instantiation: bugreport.c:hashmap_enable_item_counting Unexecuted instantiation: bundle.c:hashmap_enable_item_counting Unexecuted instantiation: cat-file.c:hashmap_enable_item_counting Unexecuted instantiation: check-attr.c:hashmap_enable_item_counting Unexecuted instantiation: check-ignore.c:hashmap_enable_item_counting Unexecuted instantiation: check-mailmap.c:hashmap_enable_item_counting Unexecuted instantiation: check-ref-format.c:hashmap_enable_item_counting Unexecuted instantiation: checkout--worker.c:hashmap_enable_item_counting Unexecuted instantiation: checkout-index.c:hashmap_enable_item_counting Unexecuted instantiation: checkout.c:hashmap_enable_item_counting Unexecuted instantiation: clean.c:hashmap_enable_item_counting Unexecuted instantiation: clone.c:hashmap_enable_item_counting Unexecuted instantiation: column.c:hashmap_enable_item_counting Unexecuted instantiation: commit-graph.c:hashmap_enable_item_counting Unexecuted instantiation: commit-tree.c:hashmap_enable_item_counting Unexecuted instantiation: commit.c:hashmap_enable_item_counting Unexecuted instantiation: config.c:hashmap_enable_item_counting Unexecuted instantiation: count-objects.c:hashmap_enable_item_counting Unexecuted instantiation: credential-cache--daemon.c:hashmap_enable_item_counting Unexecuted instantiation: credential-cache.c:hashmap_enable_item_counting Unexecuted instantiation: credential-store.c:hashmap_enable_item_counting Unexecuted instantiation: credential.c:hashmap_enable_item_counting Unexecuted instantiation: describe.c:hashmap_enable_item_counting Unexecuted instantiation: diagnose.c:hashmap_enable_item_counting Unexecuted instantiation: diff-files.c:hashmap_enable_item_counting Unexecuted instantiation: diff-index.c:hashmap_enable_item_counting Unexecuted instantiation: diff-tree.c:hashmap_enable_item_counting Unexecuted instantiation: diff.c:hashmap_enable_item_counting Unexecuted instantiation: difftool.c:hashmap_enable_item_counting Unexecuted instantiation: fast-export.c:hashmap_enable_item_counting Unexecuted instantiation: fast-import.c:hashmap_enable_item_counting Unexecuted instantiation: fetch-pack.c:hashmap_enable_item_counting Unexecuted instantiation: fetch.c:hashmap_enable_item_counting Unexecuted instantiation: fmt-merge-msg.c:hashmap_enable_item_counting Unexecuted instantiation: for-each-ref.c:hashmap_enable_item_counting Unexecuted instantiation: for-each-repo.c:hashmap_enable_item_counting Unexecuted instantiation: fsck.c:hashmap_enable_item_counting Unexecuted instantiation: fsmonitor--daemon.c:hashmap_enable_item_counting Unexecuted instantiation: gc.c:hashmap_enable_item_counting Unexecuted instantiation: get-tar-commit-id.c:hashmap_enable_item_counting Unexecuted instantiation: grep.c:hashmap_enable_item_counting Unexecuted instantiation: hash-object.c:hashmap_enable_item_counting Unexecuted instantiation: help.c:hashmap_enable_item_counting Unexecuted instantiation: hook.c:hashmap_enable_item_counting Unexecuted instantiation: index-pack.c:hashmap_enable_item_counting Unexecuted instantiation: init-db.c:hashmap_enable_item_counting Unexecuted instantiation: interpret-trailers.c:hashmap_enable_item_counting Unexecuted instantiation: log.c:hashmap_enable_item_counting Unexecuted instantiation: ls-files.c:hashmap_enable_item_counting Unexecuted instantiation: ls-remote.c:hashmap_enable_item_counting Unexecuted instantiation: ls-tree.c:hashmap_enable_item_counting Unexecuted instantiation: merge-base.c:hashmap_enable_item_counting Unexecuted instantiation: merge-file.c:hashmap_enable_item_counting Unexecuted instantiation: merge-index.c:hashmap_enable_item_counting Unexecuted instantiation: merge-ours.c:hashmap_enable_item_counting Unexecuted instantiation: merge-recursive.c:hashmap_enable_item_counting Unexecuted instantiation: merge-tree.c:hashmap_enable_item_counting Unexecuted instantiation: merge.c:hashmap_enable_item_counting Unexecuted instantiation: mktag.c:hashmap_enable_item_counting Unexecuted instantiation: mktree.c:hashmap_enable_item_counting Unexecuted instantiation: multi-pack-index.c:hashmap_enable_item_counting Unexecuted instantiation: mv.c:hashmap_enable_item_counting Unexecuted instantiation: name-rev.c:hashmap_enable_item_counting Unexecuted instantiation: notes.c:hashmap_enable_item_counting Unexecuted instantiation: pack-objects.c:hashmap_enable_item_counting Unexecuted instantiation: pack-redundant.c:hashmap_enable_item_counting Unexecuted instantiation: pack-refs.c:hashmap_enable_item_counting Unexecuted instantiation: patch-id.c:hashmap_enable_item_counting Unexecuted instantiation: prune.c:hashmap_enable_item_counting Unexecuted instantiation: pull.c:hashmap_enable_item_counting Unexecuted instantiation: push.c:hashmap_enable_item_counting Unexecuted instantiation: range-diff.c:hashmap_enable_item_counting Unexecuted instantiation: read-tree.c:hashmap_enable_item_counting Unexecuted instantiation: rebase.c:hashmap_enable_item_counting Unexecuted instantiation: receive-pack.c:hashmap_enable_item_counting Unexecuted instantiation: reflog.c:hashmap_enable_item_counting Unexecuted instantiation: refs.c:hashmap_enable_item_counting Unexecuted instantiation: remote-ext.c:hashmap_enable_item_counting Unexecuted instantiation: remote-fd.c:hashmap_enable_item_counting Unexecuted instantiation: remote.c:hashmap_enable_item_counting Unexecuted instantiation: repack.c:hashmap_enable_item_counting Unexecuted instantiation: replace.c:hashmap_enable_item_counting Unexecuted instantiation: replay.c:hashmap_enable_item_counting Unexecuted instantiation: rerere.c:hashmap_enable_item_counting Unexecuted instantiation: reset.c:hashmap_enable_item_counting Unexecuted instantiation: rev-list.c:hashmap_enable_item_counting Unexecuted instantiation: rev-parse.c:hashmap_enable_item_counting Unexecuted instantiation: revert.c:hashmap_enable_item_counting Unexecuted instantiation: rm.c:hashmap_enable_item_counting Unexecuted instantiation: send-pack.c:hashmap_enable_item_counting Unexecuted instantiation: shortlog.c:hashmap_enable_item_counting Unexecuted instantiation: show-branch.c:hashmap_enable_item_counting Unexecuted instantiation: show-index.c:hashmap_enable_item_counting Unexecuted instantiation: show-ref.c:hashmap_enable_item_counting Unexecuted instantiation: sparse-checkout.c:hashmap_enable_item_counting Unexecuted instantiation: stash.c:hashmap_enable_item_counting Unexecuted instantiation: stripspace.c:hashmap_enable_item_counting Unexecuted instantiation: submodule--helper.c:hashmap_enable_item_counting Unexecuted instantiation: symbolic-ref.c:hashmap_enable_item_counting Unexecuted instantiation: tag.c:hashmap_enable_item_counting Unexecuted instantiation: unpack-file.c:hashmap_enable_item_counting Unexecuted instantiation: unpack-objects.c:hashmap_enable_item_counting Unexecuted instantiation: update-index.c:hashmap_enable_item_counting Unexecuted instantiation: update-ref.c:hashmap_enable_item_counting Unexecuted instantiation: update-server-info.c:hashmap_enable_item_counting Unexecuted instantiation: upload-archive.c:hashmap_enable_item_counting Unexecuted instantiation: upload-pack.c:hashmap_enable_item_counting Unexecuted instantiation: var.c:hashmap_enable_item_counting Unexecuted instantiation: verify-commit.c:hashmap_enable_item_counting Unexecuted instantiation: verify-pack.c:hashmap_enable_item_counting Unexecuted instantiation: verify-tag.c:hashmap_enable_item_counting Unexecuted instantiation: worktree.c:hashmap_enable_item_counting Unexecuted instantiation: write-tree.c:hashmap_enable_item_counting Unexecuted instantiation: git.c:hashmap_enable_item_counting Unexecuted instantiation: fuzz-cmd-bundle-verify.c:hashmap_enable_item_counting Unexecuted instantiation: add-interactive.c:hashmap_enable_item_counting Unexecuted instantiation: add-patch.c:hashmap_enable_item_counting Unexecuted instantiation: advice.c:hashmap_enable_item_counting Unexecuted instantiation: alias.c:hashmap_enable_item_counting Unexecuted instantiation: attr.c:hashmap_enable_item_counting Unexecuted instantiation: bloom.c:hashmap_enable_item_counting Unexecuted instantiation: bulk-checkin.c:hashmap_enable_item_counting Unexecuted instantiation: bundle-uri.c:hashmap_enable_item_counting Unexecuted instantiation: cache-tree.c:hashmap_enable_item_counting Unexecuted instantiation: color.c:hashmap_enable_item_counting Unexecuted instantiation: combine-diff.c:hashmap_enable_item_counting Unexecuted instantiation: commit-reach.c:hashmap_enable_item_counting Unexecuted instantiation: terminal.c:hashmap_enable_item_counting Unexecuted instantiation: connect.c:hashmap_enable_item_counting Unexecuted instantiation: connected.c:hashmap_enable_item_counting Unexecuted instantiation: convert.c:hashmap_enable_item_counting Unexecuted instantiation: csum-file.c:hashmap_enable_item_counting Unexecuted instantiation: delta-islands.c:hashmap_enable_item_counting Unexecuted instantiation: diff-lib.c:hashmap_enable_item_counting Unexecuted instantiation: diff-no-index.c:hashmap_enable_item_counting Unexecuted instantiation: diffcore-break.c:hashmap_enable_item_counting Unexecuted instantiation: diffcore-rename.c:hashmap_enable_item_counting Unexecuted instantiation: dir-iterator.c:hashmap_enable_item_counting Unexecuted instantiation: dir.c:hashmap_enable_item_counting Unexecuted instantiation: editor.c:hashmap_enable_item_counting Unexecuted instantiation: entry.c:hashmap_enable_item_counting Unexecuted instantiation: environment.c:hashmap_enable_item_counting Unexecuted instantiation: fsmonitor.c:hashmap_enable_item_counting Unexecuted instantiation: fsmonitor-ipc.c:hashmap_enable_item_counting Unexecuted instantiation: fsmonitor-settings.c:hashmap_enable_item_counting Unexecuted instantiation: gpg-interface.c:hashmap_enable_item_counting Unexecuted instantiation: graph.c:hashmap_enable_item_counting Unexecuted instantiation: hash-lookup.c:hashmap_enable_item_counting Unexecuted instantiation: hashmap.c:hashmap_enable_item_counting Unexecuted instantiation: hex.c:hashmap_enable_item_counting Unexecuted instantiation: ident.c:hashmap_enable_item_counting Unexecuted instantiation: line-log.c:hashmap_enable_item_counting Unexecuted instantiation: list-objects-filter-options.c:hashmap_enable_item_counting Unexecuted instantiation: list-objects.c:hashmap_enable_item_counting Unexecuted instantiation: log-tree.c:hashmap_enable_item_counting Unexecuted instantiation: mailinfo.c:hashmap_enable_item_counting Unexecuted instantiation: mailmap.c:hashmap_enable_item_counting Unexecuted instantiation: merge-blobs.c:hashmap_enable_item_counting Unexecuted instantiation: merge-ll.c:hashmap_enable_item_counting Unexecuted instantiation: merge-ort.c:hashmap_enable_item_counting Unexecuted instantiation: merge-ort-wrappers.c:hashmap_enable_item_counting Unexecuted instantiation: midx.c:hashmap_enable_item_counting Unexecuted instantiation: midx-write.c:hashmap_enable_item_counting Unexecuted instantiation: name-hash.c:hashmap_enable_item_counting Unexecuted instantiation: notes-cache.c:hashmap_enable_item_counting Unexecuted instantiation: notes-merge.c:hashmap_enable_item_counting Unexecuted instantiation: notes-utils.c:hashmap_enable_item_counting Unexecuted instantiation: object-file-convert.c:hashmap_enable_item_counting Unexecuted instantiation: object-file.c:hashmap_enable_item_counting Unexecuted instantiation: object-name.c:hashmap_enable_item_counting Unexecuted instantiation: object.c:hashmap_enable_item_counting Unexecuted instantiation: oid-array.c:hashmap_enable_item_counting Unexecuted instantiation: oidmap.c:hashmap_enable_item_counting Unexecuted instantiation: fuzz-cmd-base.c:hashmap_enable_item_counting Unexecuted instantiation: pack-bitmap-write.c:hashmap_enable_item_counting Unexecuted instantiation: pack-bitmap.c:hashmap_enable_item_counting Unexecuted instantiation: pack-check.c:hashmap_enable_item_counting Unexecuted instantiation: pack-mtimes.c:hashmap_enable_item_counting Unexecuted instantiation: pack-revindex.c:hashmap_enable_item_counting Unexecuted instantiation: pack-write.c:hashmap_enable_item_counting Unexecuted instantiation: packfile.c:hashmap_enable_item_counting Unexecuted instantiation: pager.c:hashmap_enable_item_counting Unexecuted instantiation: parallel-checkout.c:hashmap_enable_item_counting Unexecuted instantiation: parse-options-cb.c:hashmap_enable_item_counting Unexecuted instantiation: patch-ids.c:hashmap_enable_item_counting Unexecuted instantiation: path.c:hashmap_enable_item_counting Unexecuted instantiation: pathspec.c:hashmap_enable_item_counting Unexecuted instantiation: preload-index.c:hashmap_enable_item_counting Unexecuted instantiation: pretty.c:hashmap_enable_item_counting Unexecuted instantiation: progress.c:hashmap_enable_item_counting Unexecuted instantiation: promisor-remote.c:hashmap_enable_item_counting Unexecuted instantiation: protocol.c:hashmap_enable_item_counting Unexecuted instantiation: prune-packed.c:hashmap_enable_item_counting Unexecuted instantiation: pseudo-merge.c:hashmap_enable_item_counting Unexecuted instantiation: reachable.c:hashmap_enable_item_counting Unexecuted instantiation: read-cache.c:hashmap_enable_item_counting Unexecuted instantiation: rebase-interactive.c:hashmap_enable_item_counting Unexecuted instantiation: ref-filter.c:hashmap_enable_item_counting Unexecuted instantiation: reflog-walk.c:hashmap_enable_item_counting Unexecuted instantiation: debug.c:hashmap_enable_item_counting Unexecuted instantiation: files-backend.c:hashmap_enable_item_counting Unexecuted instantiation: reftable-backend.c:hashmap_enable_item_counting Unexecuted instantiation: iterator.c:hashmap_enable_item_counting Unexecuted instantiation: packed-backend.c:hashmap_enable_item_counting Unexecuted instantiation: ref-cache.c:hashmap_enable_item_counting Unexecuted instantiation: refspec.c:hashmap_enable_item_counting Unexecuted instantiation: replace-object.c:hashmap_enable_item_counting Unexecuted instantiation: repo-settings.c:hashmap_enable_item_counting Unexecuted instantiation: repository.c:hashmap_enable_item_counting Unexecuted instantiation: resolve-undo.c:hashmap_enable_item_counting Unexecuted instantiation: revision.c:hashmap_enable_item_counting Unexecuted instantiation: run-command.c:hashmap_enable_item_counting Unexecuted instantiation: sequencer.c:hashmap_enable_item_counting Unexecuted instantiation: serve.c:hashmap_enable_item_counting Unexecuted instantiation: server-info.c:hashmap_enable_item_counting Unexecuted instantiation: setup.c:hashmap_enable_item_counting Unexecuted instantiation: shallow.c:hashmap_enable_item_counting Unexecuted instantiation: sideband.c:hashmap_enable_item_counting Unexecuted instantiation: sparse-index.c:hashmap_enable_item_counting Unexecuted instantiation: split-index.c:hashmap_enable_item_counting Unexecuted instantiation: streaming.c:hashmap_enable_item_counting Unexecuted instantiation: strmap.c:hashmap_enable_item_counting Unexecuted instantiation: sub-process.c:hashmap_enable_item_counting Unexecuted instantiation: submodule-config.c:hashmap_enable_item_counting Unexecuted instantiation: submodule.c:hashmap_enable_item_counting Unexecuted instantiation: symlinks.c:hashmap_enable_item_counting Unexecuted instantiation: tmp-objdir.c:hashmap_enable_item_counting Unexecuted instantiation: trace.c:hashmap_enable_item_counting Unexecuted instantiation: trace2.c:hashmap_enable_item_counting Unexecuted instantiation: tr2_cfg.c:hashmap_enable_item_counting Unexecuted instantiation: tr2_sysenv.c:hashmap_enable_item_counting Unexecuted instantiation: tr2_tgt_event.c:hashmap_enable_item_counting Unexecuted instantiation: tr2_tgt_normal.c:hashmap_enable_item_counting Unexecuted instantiation: tr2_tgt_perf.c:hashmap_enable_item_counting Unexecuted instantiation: trailer.c:hashmap_enable_item_counting Unexecuted instantiation: transport-helper.c:hashmap_enable_item_counting Unexecuted instantiation: transport.c:hashmap_enable_item_counting Unexecuted instantiation: tree-diff.c:hashmap_enable_item_counting Unexecuted instantiation: tree-walk.c:hashmap_enable_item_counting Unexecuted instantiation: tree.c:hashmap_enable_item_counting Unexecuted instantiation: unpack-trees.c:hashmap_enable_item_counting Unexecuted instantiation: urlmatch.c:hashmap_enable_item_counting Unexecuted instantiation: userdiff.c:hashmap_enable_item_counting Unexecuted instantiation: versioncmp.c:hashmap_enable_item_counting Unexecuted instantiation: wt-status.c:hashmap_enable_item_counting Unexecuted instantiation: xdiff-interface.c:hashmap_enable_item_counting Unexecuted instantiation: alloc.c:hashmap_enable_item_counting Unexecuted instantiation: archive-tar.c:hashmap_enable_item_counting Unexecuted instantiation: archive-zip.c:hashmap_enable_item_counting Unexecuted instantiation: chunk-format.c:hashmap_enable_item_counting Unexecuted instantiation: fetch-negotiator.c:hashmap_enable_item_counting Unexecuted instantiation: list-objects-filter.c:hashmap_enable_item_counting Unexecuted instantiation: loose.c:hashmap_enable_item_counting Unexecuted instantiation: ls-refs.c:hashmap_enable_item_counting Unexecuted instantiation: match-trees.c:hashmap_enable_item_counting Unexecuted instantiation: default.c:hashmap_enable_item_counting Unexecuted instantiation: skipping.c:hashmap_enable_item_counting Unexecuted instantiation: protocol-caps.c:hashmap_enable_item_counting Unexecuted instantiation: error.c:hashmap_enable_item_counting Unexecuted instantiation: iter.c:hashmap_enable_item_counting Unexecuted instantiation: publicbasics.c:hashmap_enable_item_counting Unexecuted instantiation: reader.c:hashmap_enable_item_counting Unexecuted instantiation: record.c:hashmap_enable_item_counting Unexecuted instantiation: stack.c:hashmap_enable_item_counting Unexecuted instantiation: writer.c:hashmap_enable_item_counting Unexecuted instantiation: basics.c:hashmap_enable_item_counting Unexecuted instantiation: block.c:hashmap_enable_item_counting Unexecuted instantiation: blocksource.c:hashmap_enable_item_counting Unexecuted instantiation: merged.c:hashmap_enable_item_counting Unexecuted instantiation: pq.c:hashmap_enable_item_counting Unexecuted instantiation: common-main.c:hashmap_enable_item_counting  | 
555  |  |  | 
556  |  | /* String interning */  | 
557  |  |  | 
558  |  | /*  | 
559  |  |  * Returns the unique, interned version of the specified string or data,  | 
560  |  |  * similar to the `String.intern` API in Java and .NET, respectively.  | 
561  |  |  * Interned strings remain valid for the entire lifetime of the process.  | 
562  |  |  *  | 
563  |  |  * Can be used as `[x]strdup()` or `xmemdupz` replacement, except that interned  | 
564  |  |  * strings / data must not be modified or freed.  | 
565  |  |  *  | 
566  |  |  * Interned strings are best used for short strings with high probability of  | 
567  |  |  * duplicates.  | 
568  |  |  *  | 
569  |  |  * Uses a hashmap to store the pool of interned strings.  | 
570  |  |  */  | 
571  |  | const void *memintern(const void *data, size_t len);  | 
572  |  | static inline const char *strintern(const char *string)  | 
573  | 1.02k  | { | 
574  | 1.02k  |   return memintern(string, strlen(string));  | 
575  | 1.02k  | } Unexecuted instantiation: add.c:strintern Unexecuted instantiation: am.c:strintern Unexecuted instantiation: apply.c:strintern Unexecuted instantiation: archive.c:strintern Unexecuted instantiation: bisect.c:strintern Unexecuted instantiation: blame.c:strintern Unexecuted instantiation: branch.c:strintern Unexecuted instantiation: bugreport.c:strintern Unexecuted instantiation: bundle.c:strintern Unexecuted instantiation: cat-file.c:strintern Unexecuted instantiation: check-attr.c:strintern Unexecuted instantiation: check-ignore.c:strintern Unexecuted instantiation: check-mailmap.c:strintern Unexecuted instantiation: check-ref-format.c:strintern Unexecuted instantiation: checkout--worker.c:strintern Unexecuted instantiation: checkout-index.c:strintern Unexecuted instantiation: checkout.c:strintern Unexecuted instantiation: clean.c:strintern Unexecuted instantiation: clone.c:strintern Unexecuted instantiation: column.c:strintern Unexecuted instantiation: commit-graph.c:strintern Unexecuted instantiation: commit-tree.c:strintern Unexecuted instantiation: commit.c:strintern Line  | Count  | Source  |  573  | 1.02k  | { |  574  | 1.02k  |   return memintern(string, strlen(string));  |  575  | 1.02k  | }  |  
 Unexecuted instantiation: count-objects.c:strintern Unexecuted instantiation: credential-cache--daemon.c:strintern Unexecuted instantiation: credential-cache.c:strintern Unexecuted instantiation: credential-store.c:strintern Unexecuted instantiation: credential.c:strintern Unexecuted instantiation: describe.c:strintern Unexecuted instantiation: diagnose.c:strintern Unexecuted instantiation: diff-files.c:strintern Unexecuted instantiation: diff-index.c:strintern Unexecuted instantiation: diff-tree.c:strintern Unexecuted instantiation: diff.c:strintern Unexecuted instantiation: difftool.c:strintern Unexecuted instantiation: fast-export.c:strintern Unexecuted instantiation: fast-import.c:strintern Unexecuted instantiation: fetch-pack.c:strintern Unexecuted instantiation: fetch.c:strintern Unexecuted instantiation: fmt-merge-msg.c:strintern Unexecuted instantiation: for-each-ref.c:strintern Unexecuted instantiation: for-each-repo.c:strintern Unexecuted instantiation: fsck.c:strintern Unexecuted instantiation: fsmonitor--daemon.c:strintern Unexecuted instantiation: gc.c:strintern Unexecuted instantiation: get-tar-commit-id.c:strintern Unexecuted instantiation: grep.c:strintern Unexecuted instantiation: hash-object.c:strintern Unexecuted instantiation: help.c:strintern Unexecuted instantiation: hook.c:strintern Unexecuted instantiation: index-pack.c:strintern Unexecuted instantiation: init-db.c:strintern Unexecuted instantiation: interpret-trailers.c:strintern Unexecuted instantiation: log.c:strintern Unexecuted instantiation: ls-files.c:strintern Unexecuted instantiation: ls-remote.c:strintern Unexecuted instantiation: ls-tree.c:strintern Unexecuted instantiation: merge-base.c:strintern Unexecuted instantiation: merge-file.c:strintern Unexecuted instantiation: merge-index.c:strintern Unexecuted instantiation: merge-ours.c:strintern Unexecuted instantiation: merge-recursive.c:strintern Unexecuted instantiation: merge-tree.c:strintern Unexecuted instantiation: merge.c:strintern Unexecuted instantiation: mktag.c:strintern Unexecuted instantiation: mktree.c:strintern Unexecuted instantiation: multi-pack-index.c:strintern Unexecuted instantiation: mv.c:strintern Unexecuted instantiation: name-rev.c:strintern Unexecuted instantiation: notes.c:strintern Unexecuted instantiation: pack-objects.c:strintern Unexecuted instantiation: pack-redundant.c:strintern Unexecuted instantiation: pack-refs.c:strintern Unexecuted instantiation: patch-id.c:strintern Unexecuted instantiation: prune.c:strintern Unexecuted instantiation: pull.c:strintern Unexecuted instantiation: push.c:strintern Unexecuted instantiation: range-diff.c:strintern Unexecuted instantiation: read-tree.c:strintern Unexecuted instantiation: rebase.c:strintern Unexecuted instantiation: receive-pack.c:strintern Unexecuted instantiation: reflog.c:strintern Unexecuted instantiation: refs.c:strintern Unexecuted instantiation: remote-ext.c:strintern Unexecuted instantiation: remote-fd.c:strintern Unexecuted instantiation: remote.c:strintern Unexecuted instantiation: repack.c:strintern Unexecuted instantiation: replace.c:strintern Unexecuted instantiation: replay.c:strintern Unexecuted instantiation: rerere.c:strintern Unexecuted instantiation: reset.c:strintern Unexecuted instantiation: rev-list.c:strintern Unexecuted instantiation: rev-parse.c:strintern Unexecuted instantiation: revert.c:strintern Unexecuted instantiation: rm.c:strintern Unexecuted instantiation: send-pack.c:strintern Unexecuted instantiation: shortlog.c:strintern Unexecuted instantiation: show-branch.c:strintern Unexecuted instantiation: show-index.c:strintern Unexecuted instantiation: show-ref.c:strintern Unexecuted instantiation: sparse-checkout.c:strintern Unexecuted instantiation: stash.c:strintern Unexecuted instantiation: stripspace.c:strintern Unexecuted instantiation: submodule--helper.c:strintern Unexecuted instantiation: symbolic-ref.c:strintern Unexecuted instantiation: tag.c:strintern Unexecuted instantiation: unpack-file.c:strintern Unexecuted instantiation: unpack-objects.c:strintern Unexecuted instantiation: update-index.c:strintern Unexecuted instantiation: update-ref.c:strintern Unexecuted instantiation: update-server-info.c:strintern Unexecuted instantiation: upload-archive.c:strintern Unexecuted instantiation: upload-pack.c:strintern Unexecuted instantiation: var.c:strintern Unexecuted instantiation: verify-commit.c:strintern Unexecuted instantiation: verify-pack.c:strintern Unexecuted instantiation: verify-tag.c:strintern Unexecuted instantiation: worktree.c:strintern Unexecuted instantiation: write-tree.c:strintern Unexecuted instantiation: git.c:strintern Unexecuted instantiation: fuzz-cmd-bundle-verify.c:strintern Unexecuted instantiation: add-interactive.c:strintern Unexecuted instantiation: add-patch.c:strintern Unexecuted instantiation: advice.c:strintern Unexecuted instantiation: alias.c:strintern Unexecuted instantiation: attr.c:strintern Unexecuted instantiation: bloom.c:strintern Unexecuted instantiation: bulk-checkin.c:strintern Unexecuted instantiation: bundle-uri.c:strintern Unexecuted instantiation: cache-tree.c:strintern Unexecuted instantiation: color.c:strintern Unexecuted instantiation: combine-diff.c:strintern Unexecuted instantiation: commit-reach.c:strintern Unexecuted instantiation: terminal.c:strintern Unexecuted instantiation: connect.c:strintern Unexecuted instantiation: connected.c:strintern Unexecuted instantiation: convert.c:strintern Unexecuted instantiation: csum-file.c:strintern Unexecuted instantiation: delta-islands.c:strintern Unexecuted instantiation: diff-lib.c:strintern Unexecuted instantiation: diff-no-index.c:strintern Unexecuted instantiation: diffcore-break.c:strintern Unexecuted instantiation: diffcore-rename.c:strintern Unexecuted instantiation: dir-iterator.c:strintern Unexecuted instantiation: dir.c:strintern Unexecuted instantiation: editor.c:strintern Unexecuted instantiation: entry.c:strintern Unexecuted instantiation: environment.c:strintern Unexecuted instantiation: fsmonitor.c:strintern Unexecuted instantiation: fsmonitor-ipc.c:strintern Unexecuted instantiation: fsmonitor-settings.c:strintern Unexecuted instantiation: gpg-interface.c:strintern Unexecuted instantiation: graph.c:strintern Unexecuted instantiation: hash-lookup.c:strintern Unexecuted instantiation: hashmap.c:strintern Unexecuted instantiation: hex.c:strintern Unexecuted instantiation: ident.c:strintern Unexecuted instantiation: line-log.c:strintern Unexecuted instantiation: list-objects-filter-options.c:strintern Unexecuted instantiation: list-objects.c:strintern Unexecuted instantiation: log-tree.c:strintern Unexecuted instantiation: mailinfo.c:strintern Unexecuted instantiation: mailmap.c:strintern Unexecuted instantiation: merge-blobs.c:strintern Unexecuted instantiation: merge-ll.c:strintern Unexecuted instantiation: merge-ort.c:strintern Unexecuted instantiation: merge-ort-wrappers.c:strintern Unexecuted instantiation: midx.c:strintern Unexecuted instantiation: midx-write.c:strintern Unexecuted instantiation: name-hash.c:strintern Unexecuted instantiation: notes-cache.c:strintern Unexecuted instantiation: notes-merge.c:strintern Unexecuted instantiation: notes-utils.c:strintern Unexecuted instantiation: object-file-convert.c:strintern Unexecuted instantiation: object-file.c:strintern Unexecuted instantiation: object-name.c:strintern Unexecuted instantiation: object.c:strintern Unexecuted instantiation: oid-array.c:strintern Unexecuted instantiation: oidmap.c:strintern Unexecuted instantiation: fuzz-cmd-base.c:strintern Unexecuted instantiation: pack-bitmap-write.c:strintern Unexecuted instantiation: pack-bitmap.c:strintern Unexecuted instantiation: pack-check.c:strintern Unexecuted instantiation: pack-mtimes.c:strintern Unexecuted instantiation: pack-revindex.c:strintern Unexecuted instantiation: pack-write.c:strintern Unexecuted instantiation: packfile.c:strintern Unexecuted instantiation: pager.c:strintern Unexecuted instantiation: parallel-checkout.c:strintern Unexecuted instantiation: parse-options-cb.c:strintern Unexecuted instantiation: patch-ids.c:strintern Unexecuted instantiation: path.c:strintern Unexecuted instantiation: pathspec.c:strintern Unexecuted instantiation: preload-index.c:strintern Unexecuted instantiation: pretty.c:strintern Unexecuted instantiation: progress.c:strintern Unexecuted instantiation: promisor-remote.c:strintern Unexecuted instantiation: protocol.c:strintern Unexecuted instantiation: prune-packed.c:strintern Unexecuted instantiation: pseudo-merge.c:strintern Unexecuted instantiation: reachable.c:strintern Unexecuted instantiation: read-cache.c:strintern Unexecuted instantiation: rebase-interactive.c:strintern Unexecuted instantiation: ref-filter.c:strintern Unexecuted instantiation: reflog-walk.c:strintern Unexecuted instantiation: debug.c:strintern Unexecuted instantiation: files-backend.c:strintern Unexecuted instantiation: reftable-backend.c:strintern Unexecuted instantiation: iterator.c:strintern Unexecuted instantiation: packed-backend.c:strintern Unexecuted instantiation: ref-cache.c:strintern Unexecuted instantiation: refspec.c:strintern Unexecuted instantiation: replace-object.c:strintern Unexecuted instantiation: repo-settings.c:strintern Unexecuted instantiation: repository.c:strintern Unexecuted instantiation: resolve-undo.c:strintern Unexecuted instantiation: revision.c:strintern Unexecuted instantiation: run-command.c:strintern Unexecuted instantiation: sequencer.c:strintern Unexecuted instantiation: serve.c:strintern Unexecuted instantiation: server-info.c:strintern Unexecuted instantiation: setup.c:strintern Unexecuted instantiation: shallow.c:strintern Unexecuted instantiation: sideband.c:strintern Unexecuted instantiation: sparse-index.c:strintern Unexecuted instantiation: split-index.c:strintern Unexecuted instantiation: streaming.c:strintern Unexecuted instantiation: strmap.c:strintern Unexecuted instantiation: sub-process.c:strintern Unexecuted instantiation: submodule-config.c:strintern Unexecuted instantiation: submodule.c:strintern Unexecuted instantiation: symlinks.c:strintern Unexecuted instantiation: tmp-objdir.c:strintern Unexecuted instantiation: trace.c:strintern Unexecuted instantiation: trace2.c:strintern Unexecuted instantiation: tr2_cfg.c:strintern Unexecuted instantiation: tr2_sysenv.c:strintern Unexecuted instantiation: tr2_tgt_event.c:strintern Unexecuted instantiation: tr2_tgt_normal.c:strintern Unexecuted instantiation: tr2_tgt_perf.c:strintern Unexecuted instantiation: trailer.c:strintern Unexecuted instantiation: transport-helper.c:strintern Unexecuted instantiation: transport.c:strintern Unexecuted instantiation: tree-diff.c:strintern Unexecuted instantiation: tree-walk.c:strintern Unexecuted instantiation: tree.c:strintern Unexecuted instantiation: unpack-trees.c:strintern Unexecuted instantiation: urlmatch.c:strintern Unexecuted instantiation: userdiff.c:strintern Unexecuted instantiation: versioncmp.c:strintern Unexecuted instantiation: wt-status.c:strintern Unexecuted instantiation: xdiff-interface.c:strintern Unexecuted instantiation: alloc.c:strintern Unexecuted instantiation: archive-tar.c:strintern Unexecuted instantiation: archive-zip.c:strintern Unexecuted instantiation: chunk-format.c:strintern Unexecuted instantiation: fetch-negotiator.c:strintern Unexecuted instantiation: list-objects-filter.c:strintern Unexecuted instantiation: loose.c:strintern Unexecuted instantiation: ls-refs.c:strintern Unexecuted instantiation: match-trees.c:strintern Unexecuted instantiation: default.c:strintern Unexecuted instantiation: skipping.c:strintern Unexecuted instantiation: protocol-caps.c:strintern Unexecuted instantiation: error.c:strintern Unexecuted instantiation: iter.c:strintern Unexecuted instantiation: publicbasics.c:strintern Unexecuted instantiation: reader.c:strintern Unexecuted instantiation: record.c:strintern Unexecuted instantiation: stack.c:strintern Unexecuted instantiation: writer.c:strintern Unexecuted instantiation: basics.c:strintern Unexecuted instantiation: block.c:strintern Unexecuted instantiation: blocksource.c:strintern Unexecuted instantiation: merged.c:strintern Unexecuted instantiation: pq.c:strintern Unexecuted instantiation: common-main.c:strintern  | 
576  |  |  | 
577  |  | #endif  |