#include <MemorySegment.hpp>
Public Member Functions | |
| OldSpaceSegmentSet () | |
| OldSpaceSegmentSet (RexxMemory *memory) | |
| virtual | ~OldSpaceSegmentSet () |
| RexxObject * | allocateObject (size_t allocationLength) |
| void | markOldSpaceObjects () |
Public Member Functions inherited from MemorySegmentSet | |
| MemorySegmentSet (RexxMemory *memObject, SegmentSetID id, const char *setName) | |
| MemorySegmentSet () | |
| virtual | ~MemorySegmentSet () |
| void * | operator new (size_t size, void *segment) |
| void | operator delete (void *size) |
| void | operator delete (void *size, void *segment) |
| void | removeSegment (MemorySegment *segment) |
| void | removeSegmentAndStorage (MemorySegment *segment) |
| void | add (MemorySegment *segment) |
| MemorySegment * | first () |
| MemorySegment * | next (MemorySegment *segment) |
| bool | isInSegmentSet (RexxObject *object) |
| void | dumpSegments (FILE *keyfile, FILE *dumpfile) |
| void | addSegment (MemorySegment *segment, bool createDeadObject=1) |
| void | sweep () |
| bool | is (SegmentSetID id) |
| void | gatherStats (MemoryStats *memStats, SegmentStats *stats) |
| virtual void | dumpMemoryProfile (FILE *outfile) |
| virtual DeadObject * | donateObject (size_t allocationLength) |
| virtual MemorySegment * | donateSegment (size_t allocationLength) |
Protected Member Functions | |
| virtual void | addDeadObject (DeadObject *object) |
| virtual void | addDeadObject (char *object, size_t length) |
| RexxObject * | findObject (size_t allocationLength) |
Protected Member Functions inherited from MemorySegmentSet | |
| virtual void | collectEmptySegments () |
| RexxObject * | splitDeadObject (DeadObject *object, size_t allocationLength, size_t splitMinimum) |
| void | insertSegment (MemorySegment *segment) |
| MemorySegment * | findEmptySegment (size_t allocationLength) |
| MemorySegment * | splitSegment (size_t allocationLength) |
| void | mergeSegments (size_t allocationLength) |
| void | combineEmptySegments (MemorySegment *front, MemorySegment *back) |
| virtual size_t | suggestMemoryExpansion () |
| virtual size_t | suggestMemoryContraction () |
| virtual void | prepareForSweep () |
| virtual void | completeSweepOperation () |
| MemorySegment * | largestActiveSegment () |
| MemorySegment * | largestEmptySegment () |
| void | adjustMemorySize () |
| void | releaseEmptySegments (size_t releaseSize) |
| void | releaseSegment (MemorySegment *segment) |
| bool | newSegment (size_t requestLength, size_t minimumLength) |
| virtual MemorySegment * | allocateSegment (size_t requestLength, size_t minimumLength) |
| float | freeMemoryPercentage () |
| size_t | totalFreeMemory () |
| size_t | calculateSegmentAllocation (size_t n) |
| void | addSegments (size_t requiredSpace) |
| MemorySegment * | getSegment (size_t requestLength, size_t minimumLength) |
| void | activateEmptySegments () |
| void | validateObject (size_t bytes) |
Private Attributes | |
| DeadObjectPool | deadCache |
Additional Inherited Members | |
Public Types inherited from MemorySegmentSet | |
| enum | SegmentSetID { SET_UNINITIALIZED , SET_NORMAL , SET_LARGEBLOCK , SET_OLDSPACE } |
Protected Attributes inherited from MemorySegmentSet | |
| MemorySegment | anchor |
| MemorySegment | emptySegments |
| size_t | count |
| size_t | liveObjectBytes |
| size_t | deadObjectBytes |
| SegmentSetID | owner |
| const char * | name |
| RexxMemory * | memory |
Definition at line 590 of file MemorySegment.hpp.
|
inline |
Definition at line 595 of file MemorySegment.hpp.
| OldSpaceSegmentSet::OldSpaceSegmentSet | ( | RexxMemory * | memory | ) |
Definition at line 196 of file MemorySegment.cpp.
|
inlinevirtual |
Definition at line 597 of file MemorySegment.hpp.
|
protectedvirtual |
Reimplemented from MemorySegmentSet.
Definition at line 437 of file MemorySegment.cpp.
References DeadObjectPool::addSortedBySize(), and deadCache.
|
protectedvirtual |
Reimplemented from MemorySegmentSet.
Definition at line 369 of file MemorySegment.cpp.
References DeadObjectPool::addSortedBySize(), and deadCache.
| RexxObject * OldSpaceSegmentSet::allocateObject | ( | size_t | allocationLength | ) |
Definition at line 1401 of file MemorySegment.cpp.
References findObject(), MemorySegmentSet::newSegment(), OREF_NULL, and roundLargeObjectAllocation().
Referenced by RexxMemory::initialize(), and RexxMemory::oldObject().
|
protected |
Definition at line 1381 of file MemorySegment.cpp.
References deadCache, DeadObjectPool::findFit(), LargeAllocationUnit, OREF_NULL, and MemorySegmentSet::splitDeadObject().
Referenced by allocateObject().
| void OldSpaceSegmentSet::markOldSpaceObjects | ( | ) |
Definition at line 1796 of file MemorySegment.cpp.
References MemorySegmentSet::first(), MemorySegment::markAllObjects(), and MemorySegmentSet::next().
Referenced by RexxMemory::gutCheck().
|
private |
Definition at line 608 of file MemorySegment.hpp.
Referenced by addDeadObject(), and findObject().