Home | History | Annotate | Download | only in mjsunit

Lines Matching refs:bins

4505 "  M_MXFAST is the maximum request size used for \"fastbins\", special bins\n" +
5357 " Bins\n" +
5360 " linked. The bins are approximately proportionally (log) spaced.\n" +
5361 " There are a lot of these bins (128). This may look excessive, but\n" +
5362 " works very well in practice. Most bins hold sizes that are\n" +
5364 " and consolidated sets of chunks, which is what these bins hold, so\n" +
5370 " Chunks in bins are kept in size order, with ties going to the\n" +
5372 " for the small bins, which all contain the same-sized chunks, but\n" +
5388 " only the fd/bk pointers of bins, and then use repositioning tricks\n" +
5395 "#define bin_at(m, i) ((mbinptr)((char*)&((m)->bins[(i)<<1]) - (SIZE_SZ<<1)))\n" +
5400 "/* Reminders about list directionality within bins */\n" +
5415 " Bins for sizes < 512 bytes contain chunks of all the same size, spaced\n" +
5416 " 8 bytes apart. Larger bins are approximately logarithmically spaced:\n" +
5418 " 64 bins of size 8\n" +
5419 " 32 bins of size 64\n" +
5420 " 16 bins of size 512\n" +
5421 " 8 bins of size 4096\n" +
5422 " 4 bins of size 32768\n" +
5423 " 2 bins of size 262144\n" +
5426 " The bins top out around 1MB because we expect to service large\n" +
5477 " /* Use next 2 bits to create finer-granularity bins */\n" +
5495 " 512 - all bins sorted\n" +
5496 " 2560 - leaves bins <= 64 bytes wide unsorted\n" +
5497 " 12288 - leaves bins <= 512 bytes wide unsorted\n" +
5498 " 65536 - leaves bins <= 4096 bytes wide unsorted\n" +
5499 " 262144 - leaves bins <= 32768 bytes wide unsorted\n" +
5500 " -1 - no bins sorted (not recommended!)\n" +
5511 " in regular bins after malloc gives them ONE chance to be used before\n" +
5514 " and taken off (to be either used or placed in bins) in malloc.\n" +
5544 " To help compensate for the large number of bins, a one-level index\n" +
5546 " bitvector recording whether bins are definitely empty so they can\n" +
5548 " cleared as soon as bins are empty, but instead only\n" +
5570 " double linking is not necessary. Also, unlike regular bins, they\n" +
5583 "/* offset 2 to use otherwise unindexable first 2 bins */\n" +
5683 " /* Normal bins packed as described above */\n" +
5684 " mchunkptr bins[NBINS * 2];\n" +
5686 " /* Bitmap of bins. Trailing zero map handles cases of largest binned size */\n" +
5754 " /* Establish circular links for normal bins */\n" +
6015 " display chunk addresses, sizes, bins, and other instrumentation.\n" +
6055 " /* all bins past max_fast are empty */\n" +
6074 " /* check normal bins */\n" +
6711 " hold one size each, no searching within bins is necessary.\n" +
6753 " bins. Note that this step is the only place in any routine where\n" +
6754 " chunks are placed in bins.\n" +
6822 " /* maintain large bins in sorted order */\n" +
6880 " Search for a chunk by scanning bins, starting with next largest\n" +
6899 bins */\n" +
7082 " not placed into regular bins until after they have\n" +
7208 " placing in unsorted bin avoids needing to calculate actual bins\n" +
7968 " /* traverse regular bins */\n" +