hoardHeap Class Reference

Inheritance diagram for hoardHeap:

persistentHeap persistentHeap persistentHeap processHeap processHeap processHeap threadHeap threadHeap threadHeap List of all members.

Public Types

 EMPTY_FRACTION = SUPERBLOCK_FULLNESS_GROUP - 1
 RESET_LEAST_EMPTY_BIN = SUPERBLOCK_FULLNESS_GROUP - 2
 MAX_EMPTY_SUPERBLOCKS = 1
 MAX_HEAPS = 1
 MAX_HEAPS_MASK = MAX_HEAPS - 1
 SIZE_CLASSES = 132
 ALIGNMENT = sizeof(double)
 ALIGNMENT_MASK = ALIGNMENT - 1
 HEAP_MAGIC = 0x0badcafe
 SUPERBLOCK_SIZE = 16384
enum  { EMPTY_FRACTION = SUPERBLOCK_FULLNESS_GROUP - 1 }
enum  { RESET_LEAST_EMPTY_BIN = SUPERBLOCK_FULLNESS_GROUP - 2 }
enum  { MAX_EMPTY_SUPERBLOCKS = 1 }
enum  { MAX_HEAPS = 1 }
enum  { MAX_HEAPS_MASK = MAX_HEAPS - 1 }
enum  { SIZE_CLASSES = 132 }
enum  { ALIGNMENT = sizeof(double) }
enum  { ALIGNMENT_MASK = ALIGNMENT - 1 }
enum  { HEAP_MAGIC = 0x0badcafe }
enum  { SUPERBLOCK_SIZE = 16384 }
enum  { EMPTY_FRACTION = SUPERBLOCK_FULLNESS_GROUP - 1 }
enum  { RESET_LEAST_EMPTY_BIN = SUPERBLOCK_FULLNESS_GROUP - 2 }
enum  { MAX_EMPTY_SUPERBLOCKS = 1 }
enum  { MAX_HEAPS = 1 }
enum  { MAX_HEAPS_MASK = MAX_HEAPS - 1 }
enum  { SIZE_CLASSES = 132 }
enum  { ALIGNMENT = sizeof(double) }
enum  { ALIGNMENT_MASK = ALIGNMENT - 1 }
enum  { HEAP_MAGIC = 0x0badcafe }
enum  { EMPTY_FRACTION = SUPERBLOCK_FULLNESS_GROUP - 1 }
enum  { RESET_LEAST_EMPTY_BIN = SUPERBLOCK_FULLNESS_GROUP - 2 }
enum  { MAX_EMPTY_SUPERBLOCKS = 1 }
enum  { MAX_HEAPS = 1 }
enum  { MAX_HEAPS_MASK = MAX_HEAPS - 1 }
enum  { SIZE_CLASSES = 132 }
enum  { ALIGNMENT = sizeof(double) }
enum  { ALIGNMENT_MASK = ALIGNMENT - 1 }
enum  { HEAP_MAGIC = 0x0badcafe }

Public Member Functions

 hoardHeap (void)
void getStats (int sizeclass, int &U, int &A)
void insertSuperblock (int sizeclass, superblock *sb, persistentHeap *persistentheap)
void insertSuperblock (int sizeclass, superblock *sb, processHeap *pHeap)
superblockremoveMaxSuperblock (int sizeclass)
superblockremovePartiallyFullSuperblock (int fullness, int sizeclass)
superblockfindAvailableSuperblock (int sizeclass, block *&b, persistentHeap *persistentheap)
void lock (void)
void unlock (void)
void setIndex (int i)
int getIndex (void)
int freeBlock (block *&b, superblock *&sb, int sizeclass, persistentHeap *persistentheap)
void printSuperblockList ()
void moveSuperblock (superblock *, int sizeclass, int fromBin, int toBin)
void incUStats (int sizeclass)
void getStats (int sizeclass, int &U, int &A)
void insertSuperblock (int sizeclass, superblock *sb, processHeap *pHeap)
superblockremoveMaxSuperblock (int sizeclass)
superblockfindAvailableSuperblock (int sizeclass, block *&b, processHeap *pHeap)
void lock (void)
void unlock (void)
void setIndex (int i)
int getIndex (void)
int freeBlock (block *&b, superblock *&sb, int sizeclass, processHeap *pHeap)
void moveSuperblock (superblock *, int sizeclass, int fromBin, int toBin)
void incUStats (int sizeclass)
void getStats (int sizeclass, int &U, int &A)
void insertSuperblock (int sizeclass, superblock *sb, persistentHeap *persistentheap)
superblockremoveMaxSuperblock (int sizeclass)
superblockremovePartiallyFullSuperblock (int fullness, int sizeclass)
superblockfindAvailableSuperblock (int sizeclass, block *&b, persistentHeap *persistentheap)
void lock (void)
void unlock (void)
void setIndex (int i)
int getIndex (void)
int freeBlock (block *&b, superblock *&sb, int sizeclass, persistentHeap *persistentheap)
void printSuperblockList ()
void moveSuperblock (superblock *, int sizeclass, int fromBin, int toBin)
void incUStats (int sizeclass)

Static Public Member Functions

static int sizeClass (const size_t sz)
static size_t sizeFromClass (const int sizeclass)
static int getReleaseThreshold (const int sizeclass)
static int numBlocks (const int sizeclass)
static size_t align (const size_t sz)
static int sizeClass (const size_t sz)
static size_t sizeFromClass (const int sizeclass)
static int getReleaseThreshold (const int sizeclass)
static int numBlocks (const int sizeclass)
static size_t align (const size_t sz)
static int sizeClass (const size_t sz)
static size_t sizeFromClass (const int sizeclass)
static int getReleaseThreshold (const int sizeclass)
static int numBlocks (const int sizeclass)
static size_t align (const size_t sz)

Static Protected Attributes

static int _numProcessors
static int _numProcessorsMask

Friends

class _initNumProcs

Classes

class  _initNumProcs
class  _initNumProcs
class  _initNumProcs

Detailed Description

Definition at line 46 of file hoardheap.h.


The documentation for this class was generated from the following files:
Generated on Sat Apr 23 11:43:36 2011 for Mnemosyne by  doxygen 1.4.7