45 #ifndef Included_DeadObject
46 #define Included_DeadObject
63 inline void *
operator new(
size_t size,
void *address) {
return address; };
64 inline void operator delete(
void *,
void *) {;}
140 inline void init(
const char * poolID) {
144 allocationReclaim = 0;
146 allocationMisses = 0;
152 #define ReorderThreshold 100
154 inline void setID(
const char *poolID) { this->
id = poolID; }
181 if (newObject->
isReal()) {
203 if (newLength >= length) {
208 newObject = newObject->
next;
225 if (newLength >= length) {
234 *realLength = newLength;
243 if (tailLength > length)
248 tailObject = nextObject;
254 newObject = newObject->
next;
280 if (newObject != NULL) {
292 inline void logReclaim() { allocationReclaim++; }
293 inline void logHit() { allocationHits++; }
294 inline void logMiss() { allocationMisses; }
295 inline void clearProfile() { allocationCount = 0; allocationReclaim = 0; allocationHits = 0; allocationMisses = 0; }
308 size_t allocationCount;
309 size_t allocationReclaim;
310 size_t allocationHits;
311 size_t allocationMisses;
void insertAfter(DeadObject *newDead)
DeadObject(size_t objectSize)
bool overlaps(DeadObject *o)
void setObjectSize(size_t newSize)
void insertBefore(DeadObject *newDead)
void addEyeCatcher(const char *string)
void setID(const char *poolID)
DeadObject * findSmallestFit(size_t minSize)
DeadObject * firstBlock()
void dumpMemoryProfile(FILE *outfile)
void checkObjectGrain(DeadObject *obj)
DeadObject * findFit(size_t length, size_t *realLength)
void addSortedBySize(DeadObject *obj)
void checkObjectOverlap(DeadObject *obj)
void add(DeadObject *obj)
DeadObject * findBestFit(size_t length)
void addSortedByLocation(DeadObject *obj)
void addSingle(DeadObject *obj)
DeadObject * findFit(size_t length)
DeadObjectPool(const char *poolID)
void init(const char *poolID)
DeadObject * getFirstSingle()