#include <MemorySegment.hpp>
Public Member Functions | |
| void * | operator new (size_t size, void *segment) |
| void | operator delete (void *) |
| void | operator delete (void *, void *) |
| MemorySegment (size_t segSize) | |
| MemorySegment () | |
| void | insertAfter (MemorySegment *newSegment) |
| void | insertBefore (MemorySegment *newSegment) |
| void | remove () |
| void | removeAll () |
| bool | isInSegment (RexxObject *object) |
| DeadObject * | createDeadObject () |
| DeadObject * | firstObject () |
| void | combine (MemorySegment *nextSegment) |
| void | shrink (size_t delta) |
| bool | isAdjacentTo (MemorySegment *seg) |
| bool | isLastBlock (char *addr, size_t length) |
| bool | isFirstBlock (char *addr) |
| size_t | size () |
| size_t | realSize () |
| char * | start () |
| char * | end () |
| bool | isReal () |
| bool | isEmpty () |
| void | dump (const char *owner, size_t counter, FILE *keyfile, FILE *dumpfile) |
| DeadObject * | lastDeadObject () |
| DeadObject * | firstDeadObject () |
| void | gatherObjectStats (MemoryStats *memStats, SegmentStats *stats) |
| void | markAllObjects () |
Public Attributes | |
| char | segmentStart [8] |
Friends | |
| class | MemorySegmentSet |
| class | NormalSegmentSet |
| class | LargeSegmentSet |
| class | OldSegmentSet |
| class | RexxMemory |
Additional Inherited Members | |
Protected Attributes inherited from MemorySegmentHeader | |
| size_t | segmentSize |
| size_t | liveObjects |
| MemorySegment * | next |
| MemorySegment * | previous |
Definition at line 143 of file MemorySegment.hpp.
|
inline |
Definition at line 155 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize.
|
inline |
Definition at line 160 of file MemorySegment.hpp.
References MemorySegmentHeader::next, MemorySegmentHeader::previous, and MemorySegmentHeader::segmentSize.
|
inline |
Definition at line 198 of file MemorySegment.hpp.
References MemorySegmentOverhead, and MemorySegmentHeader::segmentSize.
Referenced by MemorySegmentSet::addSegment(), MemorySegmentSet::combineEmptySegments(), and MemorySegmentSet::mergeSegments().
|
inline |
Definition at line 195 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize, and segmentStart.
Referenced by MemorySegmentSet::addSegment(), and MemorySegmentSet::combineEmptySegments().
| void MemorySegment::dump | ( | const char * | owner, |
| size_t | counter, | ||
| FILE * | keyfile, | ||
| FILE * | dumpfile | ||
| ) |
Definition at line 48 of file MemorySegment.cpp.
References MemorySegmentHeader::segmentSize, and segmentStart.
Referenced by MemorySegmentSet::dumpSegments().
|
inline |
Definition at line 207 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize, and segmentStart.
Referenced by gatherObjectStats(), isAdjacentTo(), isLastBlock(), lastDeadObject(), markAllObjects(), MemorySegmentSet::splitSegment(), and MemorySegmentSet::sweep().
| DeadObject * MemorySegment::firstDeadObject | ( | ) |
Definition at line 89 of file MemorySegment.cpp.
References RexxMemory::markWord, memoryObject, and start().
Referenced by MemorySegmentSet::mergeSegments().
|
inline |
Definition at line 197 of file MemorySegment.hpp.
References segmentStart.
Referenced by MemorySegmentSet::combineEmptySegments(), and removeAll().
| void MemorySegment::gatherObjectStats | ( | MemoryStats * | memStats, |
| SegmentStats * | stats | ||
| ) |
Definition at line 104 of file MemorySegment.cpp.
References end(), SegmentStats::recordObject(), and start().
Referenced by MemorySegmentSet::gatherStats().
|
inline |
Definition at line 167 of file MemorySegment.hpp.
References RexxMemory::newSegment(), MemorySegmentHeader::next, and MemorySegmentHeader::previous.
|
inline |
Definition at line 174 of file MemorySegment.hpp.
References RexxMemory::newSegment(), MemorySegmentHeader::next, and MemorySegmentHeader::previous.
Referenced by MemorySegmentSet::add(), MemorySegmentSet::addSegment(), and MemorySegmentSet::releaseSegment().
|
inline |
Definition at line 200 of file MemorySegment.hpp.
References end().
Referenced by MemorySegmentSet::addSegment(), and MemorySegmentSet::mergeSegments().
|
inline |
Definition at line 209 of file MemorySegment.hpp.
References MemorySegmentHeader::liveObjects.
Referenced by MemorySegmentSet::mergeSegments(), and MemorySegmentSet::releaseEmptySegments().
|
inline |
Definition at line 202 of file MemorySegment.hpp.
References start().
Referenced by MemorySegmentSet::splitSegment().
|
inline |
Definition at line 191 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize, and segmentStart.
Referenced by MemorySegmentSet::isInSegmentSet().
|
inline |
Definition at line 201 of file MemorySegment.hpp.
References end().
Referenced by MemorySegmentSet::splitSegment().
|
inline |
Definition at line 208 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize.
Referenced by MemorySegmentSet::activateEmptySegments(), MemorySegmentSet::addSegment(), MemorySegmentSet::findEmptySegment(), MemorySegmentSet::first(), MemorySegmentSet::largestActiveSegment(), MemorySegmentSet::largestEmptySegment(), MemorySegmentSet::mergeSegments(), and MemorySegmentSet::next().
| DeadObject * MemorySegment::lastDeadObject | ( | ) |
Definition at line 62 of file MemorySegment.cpp.
References end(), RexxMemory::markWord, memoryObject, and start().
Referenced by MemorySegmentSet::mergeSegments().
| void MemorySegment::markAllObjects | ( | ) |
Definition at line 1773 of file MemorySegment.cpp.
References end(), RexxInternalObject::getObjectSize(), memory_mark_general, RESTORINGIMAGE, and start().
Referenced by OldSpaceSegmentSet::markOldSpaceObjects().
|
inline |
Definition at line 152 of file MemorySegment.hpp.
|
inline |
Definition at line 153 of file MemorySegment.hpp.
|
inline |
Definition at line 151 of file MemorySegment.hpp.
|
inline |
Definition at line 205 of file MemorySegment.hpp.
References MemorySegmentOverhead, and MemorySegmentHeader::segmentSize.
Referenced by MemorySegmentSet::addSegment(), MemorySegmentSet::mergeSegments(), and MemorySegmentSet::splitSegment().
|
inline |
Definition at line 181 of file MemorySegment.hpp.
References MemorySegmentHeader::next, and MemorySegmentHeader::previous.
Referenced by MemorySegmentSet::activateEmptySegments(), MemorySegmentSet::findEmptySegment(), removeAll(), and MemorySegmentSet::removeSegment().
|
inline |
Definition at line 186 of file MemorySegment.hpp.
References firstObject(), DeadObject::remove(), and remove().
Referenced by MemorySegmentSet::mergeSegments(), and MemorySegmentSet::removeSegmentAndStorage().
|
inline |
Definition at line 199 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize.
Referenced by MemorySegmentSet::splitSegment().
|
inline |
Definition at line 204 of file MemorySegment.hpp.
References MemorySegmentHeader::segmentSize.
Referenced by MemorySegmentSet::addSegment(), MemorySegmentSet::addSegments(), MemorySegmentSet::combineEmptySegments(), LargeSegmentSet::expandOrCollect(), MemorySegmentSet::findEmptySegment(), MemorySegmentSet::gatherStats(), MemorySegmentSet::largestActiveSegment(), MemorySegmentSet::largestEmptySegment(), MemorySegmentSet::mergeSegments(), MemorySegmentPool::newLargeSegment(), MemorySegmentPool::newSegment(), MemorySegmentSet::releaseEmptySegments(), and MemorySegmentSet::splitSegment().
|
inline |
Definition at line 206 of file MemorySegment.hpp.
References segmentStart.
Referenced by firstDeadObject(), gatherObjectStats(), isFirstBlock(), lastDeadObject(), markAllObjects(), MemorySegmentSet::splitSegment(), and MemorySegmentSet::sweep().
|
friend |
Definition at line 146 of file MemorySegment.hpp.
|
friend |
Definition at line 144 of file MemorySegment.hpp.
|
friend |
Definition at line 145 of file MemorySegment.hpp.
|
friend |
Definition at line 147 of file MemorySegment.hpp.
|
friend |
Definition at line 148 of file MemorySegment.hpp.
| char MemorySegment::segmentStart[8] |
Definition at line 217 of file MemorySegment.hpp.
Referenced by createDeadObject(), dump(), end(), firstObject(), isInSegment(), and start().