Lines Matching defs:bins
1235 M_MXFAST is the maximum request size used for "fastbins", special bins
1896 linked. The bins are approximately proportionally (log) spaced.
1897 There are a lot of these bins (128). This may look excessive, but
1898 works very well in practice. Most bins hold sizes that are
1900 and consolidated sets of chunks, which is what these bins hold, so
1906 Chunks in bins are kept in size order, with ties going to the
1908 for the small bins, which all contain the same-sized chunks, but
1924 only the fd/bk pointers of bins, and then use repositioning tricks
1931 #define bin_at(m, i) ((mbinptr)((char*)&((m)->bins[(i)<<1]) - (SIZE_SZ<<1)))
1936 /* Reminders about list directionality within bins */
1952 8 bytes apart. Larger bins are approximately logarithmically spaced:
1954 64 bins of size 8
1955 32 bins of size 64
1956 16 bins of size 512
1957 8 bins of size 4096
1958 4 bins of size 32768
1959 2 bins of size 262144
1965 The bins top out around 1MB because we expect to service large
2001 512 - all bins sorted
2002 2560 - leaves bins <= 64 bytes wide unsorted
2003 12288 - leaves bins <= 512 bytes wide unsorted
2004 65536 - leaves bins <= 4096 bytes wide unsorted
2005 262144 - leaves bins <= 32768 bytes wide unsorted
2006 -1 - no bins sorted (not recommended!)
2017 in regular bins after malloc gives them ONE chance to be used before
2020 and taken off (to be either used or placed in bins) in malloc.
2053 To help compensate for the large number of bins, a one-level index
2055 bitvector recording whether bins are definitely empty so they can
2057 cleared as soon as bins are empty, but instead only
2079 double linking is not necessary. Also, unlike regular bins, they
2092 /* offset 2 to use otherwise unindexable first 2 bins */
2187 /* Normal bins packed as described above */
2188 mchunkptr bins[NBINS * 2];
2190 /* Bitmap of bins */
2253 /* Establish circular links for normal bins */
2505 display chunk addresses, sizes, bins, and other instrumentation.
2542 /* all bins past max_fast are empty */
2561 /* check normal bins */
2959 hold one size each, no searching within bins is necessary.
3006 bins. Note that this step is the only place in any routine where
3007 chunks are placed in bins.
3084 /* maintain large bins in sorted order */
3142 Search for a chunk by scanning bins, starting with next largest
3148 The particular case of skipping all bins during warm-up phases
3163 if (++block >= BINMAPSIZE) /* out of bins */
3357 not placed into regular bins until after they have
3456 placing in unsorted bin avoids needing to calculate actual bins
3918 /* traverse regular bins */