Lines Matching defs:bin

1895     An array of bin headers for free chunks. Each bin is doubly
1921 To simplify use in double-linked lists, each bin header acts
1933 /* analog of ++bin */
1940 /* Take a chunk off a bin list */
1960 1 bin of size what's left
1992 first bin that is maintained in sorted order. This must
1993 be the smallest size corresponding to a given bin.
1998 non-best-fitting by up to the width of the bin.
2016 are first placed in the "unsorted" bin. They are then placed
2026 /* The otherwise unindexable 1-bin is used to hold unsorted chunks. */
2034 any bin, is used only if no other chunk is available, and is
2037 points to its own bin with initial zero size, thus forcing
2041 initial_top treat the bin as a legal but unusable chunk during the
2047 /* Conveniently, the unsorted bin can be used as dummy top on first call */
2054 structure is used for bin-by-bin searching. `binmap' is a
2181 /* Base of the topmost chunk -- not otherwise kept in a bin */
2251 mbinptr bin;
2255 bin = bin_at(av,i);
2256 bin->fd = bin->bk = bin;
2550 /* chunk belongs in this bin */
2565 /* binmap is accurate (except for bin 1 == unsorted_chunks) */
2581 /* chunk belongs in bin */
2911 unsigned int idx; /* associated bin index */
2912 mbinptr bin; /* associated bin */
2917 int victim_index; /* its bin index */
2942 If the size qualifies as a fastbin, first check corresponding bin.
2958 If a small request, check regular bin. Since these "smallbins"
2967 bin = bin_at(av,idx);
2969 if ( (victim = last(bin)) != bin) {
2975 bin->bk = bck;
2976 bck->fd = bin;
3023 only chunk in unsorted bin. This helps promote locality for
3063 /* place chunk in bin */
3102 If a large request, scan through the chunks of current bin in
3109 bin = bin_at(av, idx);
3111 for (victim = last(bin); victim != bin; victim = victim->bk) {
3143 bin. This search is strictly by best-fit; i.e., the smallest
3153 bin = bin_at(av,idx);
3167 bin = bin_at(av, (block << BINMAPSHIFT));
3171 /* Advance to bin with set bit. There must be one. */
3173 bin = next_bin(bin);
3178 /* Inspect the bin. It is likely to be non-empty */
3179 victim = last(bin);
3181 /* If a false alarm (empty bin), clear the bit. */
3182 if (victim == bin) {
3184 bin = next_bin(bin);
3191 /* We know the first chunk in this bin is big enough to use. */
3198 bin->bk = bck;
3199 bck->fd = bin;
3269 idx = smallbin_index(nb); /* restore original bin index */
3431 mchunkptr unsorted_bin; /* bin header */
3454 Remove each chunk from fast bin and consolidate it, placing it
3455 then in unsorted bin. Among other reasons for doing this,
3456 placing in unsorted bin avoids needing to calculate actual bins