OldSpaceSegmentSet Class Reference

#include <MemorySegment.hpp>

Inheritance diagram for OldSpaceSegmentSet:
[legend]

Public Member Functions

 OldSpaceSegmentSet ()
 
 OldSpaceSegmentSet (RexxMemory *memory)
 
virtual ~OldSpaceSegmentSet ()
 
RexxObjectallocateObject (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)
 
MemorySegmentfirst ()
 
MemorySegmentnext (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 DeadObjectdonateObject (size_t allocationLength)
 
virtual MemorySegmentdonateSegment (size_t allocationLength)
 

Protected Member Functions

virtual void addDeadObject (DeadObject *object)
 
virtual void addDeadObject (char *object, size_t length)
 
RexxObjectfindObject (size_t allocationLength)
 
- Protected Member Functions inherited from MemorySegmentSet
virtual void collectEmptySegments ()
 
RexxObjectsplitDeadObject (DeadObject *object, size_t allocationLength, size_t splitMinimum)
 
void insertSegment (MemorySegment *segment)
 
MemorySegmentfindEmptySegment (size_t allocationLength)
 
MemorySegmentsplitSegment (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 ()
 
MemorySegmentlargestActiveSegment ()
 
MemorySegmentlargestEmptySegment ()
 
void adjustMemorySize ()
 
void releaseEmptySegments (size_t releaseSize)
 
void releaseSegment (MemorySegment *segment)
 
bool newSegment (size_t requestLength, size_t minimumLength)
 
virtual MemorySegmentallocateSegment (size_t requestLength, size_t minimumLength)
 
float freeMemoryPercentage ()
 
size_t totalFreeMemory ()
 
size_t calculateSegmentAllocation (size_t n)
 
void addSegments (size_t requiredSpace)
 
MemorySegmentgetSegment (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
 
RexxMemorymemory
 

Detailed Description

Definition at line 590 of file MemorySegment.hpp.

Constructor & Destructor Documentation

◆ OldSpaceSegmentSet() [1/2]

OldSpaceSegmentSet::OldSpaceSegmentSet ( )
inline

Definition at line 595 of file MemorySegment.hpp.

◆ OldSpaceSegmentSet() [2/2]

OldSpaceSegmentSet::OldSpaceSegmentSet ( RexxMemory memory)

Definition at line 196 of file MemorySegment.cpp.

◆ ~OldSpaceSegmentSet()

virtual OldSpaceSegmentSet::~OldSpaceSegmentSet ( )
inlinevirtual

Definition at line 597 of file MemorySegment.hpp.

Member Function Documentation

◆ addDeadObject() [1/2]

void OldSpaceSegmentSet::addDeadObject ( char *  object,
size_t  length 
)
protectedvirtual

Reimplemented from MemorySegmentSet.

Definition at line 437 of file MemorySegment.cpp.

References DeadObjectPool::addSortedBySize(), and deadCache.

◆ addDeadObject() [2/2]

void OldSpaceSegmentSet::addDeadObject ( DeadObject object)
protectedvirtual

Reimplemented from MemorySegmentSet.

Definition at line 369 of file MemorySegment.cpp.

References DeadObjectPool::addSortedBySize(), and deadCache.

◆ allocateObject()

RexxObject * OldSpaceSegmentSet::allocateObject ( size_t  allocationLength)

◆ findObject()

RexxObject * OldSpaceSegmentSet::findObject ( size_t  allocationLength)
protected

◆ markOldSpaceObjects()

void OldSpaceSegmentSet::markOldSpaceObjects ( )

Member Data Documentation

◆ deadCache

DeadObjectPool OldSpaceSegmentSet::deadCache
private

Definition at line 608 of file MemorySegment.hpp.

Referenced by addDeadObject(), and findObject().


The documentation for this class was generated from the following files: