Lines Matching refs:superblock

24 #include "superblock.h"
152 superblock *sb, processHeap *pHeap)
163 // How full is this superblock? We'll use this information to put
175 // Recycle this superblock.
196 hoardUnsbrk(sb, align(sizeof(superblock) + blksize));
202 superblock *&head = _superblocks[fullness][sizeclass];
213 superblock *
218 superblock *head = NULL;
224 // We found one. Since we're removing this superblock, update the
233 // Instead of finding the superblock with the most available space
237 // 1/(SUPERBLOCK_FULLNESS_GROUP-1) more full than the superblock
255 // Make sure that this superblock is at least 1/EMPTY_FRACTION
269 hoardHeap::removeSuperblock(superblock *sb, int sizeclass)
294 hoardHeap::moveSuperblock(superblock *sb,
303 // Remove the superblock from the old bin.
305 superblock *&oldHead = _superblocks[fromBin][sizeclass];
315 // Insert the superblock into the new bin.
317 superblock *&newHead = _superblocks[toBin][sizeclass];
330 hoardHeap::freeBlock(block * &b, superblock * &sb,
358 hoardUnsbrk(sb, align(sizeof(superblock) + blksize));
362 // If the fullness value has changed, move the superblock.
366 // Move the superblock to the front of its list (to reduce
368 superblock *&head = _superblocks[newFullness][sizeclass];
376 // If the superblock is now empty, recycle it.
396 hoardUnsbrk(sb, align(sizeof(superblock) + blksize));
412 // Release a superblock, if necessary.
430 // We've crossed the magical threshold. Find the superblock with
432 superblock *const maxSb = removeMaxSuperblock(sizeclass);
439 // Give the superblock back to the process heap.