Lines Matching defs:usedpools

1071 This is involved.  For an index i, usedpools[i+i] is the header for a list of
1073 usedpools[0] corresponds to blocks of size 8, usedpools[2] to blocks of size
1087 at usedpools[i] (see above). It's linked to the other used pools of the
1094 On transition to full, a pool is unlinked from its usedpools[] list.
1098 Then it's linked in at the front of the appropriate usedpools[] list, so
1102 On transition to empty, a pool is unlinked from its usedpools[] list,
1106 an empty list in usedpools[], it takes the first pool off of freepools.
1134 Major obscurity: While the usedpools vector is declared to have poolp
1150 each of which consume sizeof(block *) bytes. So what usedpools[i+i] really
1155 It's unclear why the usedpools setup is so convoluted. It could be to
1159 free, usedpools[0] isn't a strictly legal pointer, and we're crucially relying
1164 #define PTA(x) ((poolp )((uint8_t *)&(usedpools[2*(x)]) - 2*sizeof(block *)))
1167 static poolp usedpools[2 * ((NB_SMALL_SIZE_CLASSES + 7) / 8) * 8] = {
1788 // space for a block. Otherwise, remove this pool from usedpools.
1908 poolp next = usedpools[size + size]; /* == prev */
1967 poolp pool = usedpools[size + size];
2037 poolp next = usedpools[size + size];
2236 * wasn't empty (so it's already in a usedpools[] list, or
2248 * link it to the front of the appropriate usedpools[] list.
2258 * and the pool is in a usedpools[] list.
2261 /* pool isn't empty: leave it in usedpools */
2265 /* Pool is now empty: unlink from usedpools, and
3038 assert(pool_is_in_list(p, usedpools[sz + sz]));