Lines Matching refs:superblock

31 #include "superblock.h"
43 // A superblock that holds more than one object must hold at least
99 // Insert a superblock into our list.
100 void insertSuperblock(int sizeclass, superblock *sb, processHeap *pHeap);
102 // Remove the superblock with the most free space.
103 superblock *removeMaxSuperblock(int sizeclass);
105 // Find an available superblock (i.e., with some space in it).
106 inline superblock *findAvailableSuperblock(int sizeclass,
124 // Free a block into a superblock.
126 // Returns 1 iff the superblock was munmapped.
127 int freeBlock(block * &b, superblock * &sb, int sizeclass,
141 // Return how many blocks of a given size class fit into a superblock.
153 // Recycle a superblock.
154 inline void recycle(superblock *);
156 // Reuse a superblock (if one is available).
157 inline superblock *reuse(int sizeclass);
159 // Remove a particular superblock.
160 void removeSuperblock(superblock *, int sizeclass);
162 // Move a particular superblock from one bin to another.
163 void moveSuperblock(superblock *,
186 superblock *_reusableSuperblocks;
190 superblock *_superblocks[SUPERBLOCK_FULLNESS_GROUP][SIZE_CLASSES];
192 // The current least-empty superblock bin.
297 superblock *
306 superblock *sb = NULL;
319 // There wasn't a superblock in this bin,
332 // Try to reuse a superblock.
343 // This superblock is 'valid'.
345 // This superblock has the right ownership.
350 // Now get a block from the superblock.
351 // This superblock must have space available.
367 // move the superblock.
371 // Move the superblock.
376 // Either we didn't find a superblock or we did and got a block.
378 // Either we didn't get a block or we did and we also got a superblock.
425 // Compute the number of blocks that will go into this superblock.
426 int nb = max_c(1, ((SUPERBLOCK_SIZE - sizeof(superblock)) / blksize));
480 hoardHeap::recycle(superblock *sb)
495 superblock *
502 // that is too big for a 'normal' superblock.
506 // Pop off a superblock from the reusable-superblock list.
508 superblock *sb = _reusableSuperblocks;
514 // Reformat the superblock if necessary.
520 sb = new((char *)sb) superblock(numBlocks(sizeclass),