#include <garbageable.h>
Public Member Functions | |
virtual bool | finalize () |
Performs pre-delete finalization of the object. | |
GarbageableBase (const GarbageableBase &other) | |
Copy constructor. | |
GarbageableBase () | |
uint32 | mark () const |
Return the current GC mark status. | |
void | mark (uint32 gen) const |
void | nextGarbage (GarbageableBase *next) |
GarbageableBase * | nextGarbage () const |
virtual uint32 | occupation () |
Returns an exteem of the size occupied by this object in memory. | |
void | prevGarbage (GarbageableBase *prev) |
GarbageableBase * | prevGarbage () const |
virtual | ~GarbageableBase () |
Protected Attributes | |
GarbageableBase * | m_garbage_next |
GarbageableBase * | m_garbage_prev |
uint32 | m_gcStatus |
Falcon::GarbageableBase::GarbageableBase | ( | ) | [inline] |
Falcon::GarbageableBase::GarbageableBase | ( | const GarbageableBase & | other | ) |
Copy constructor.
virtual Falcon::GarbageableBase::~GarbageableBase | ( | ) | [virtual] |
virtual bool Falcon::GarbageableBase::finalize | ( | ) | [virtual] |
Performs pre-delete finalization of the object.
If this function returns false, then the destructor is called. If it returns true, it means that the finalizer has somewhat reclaimed the memory in a clean way (i.e. deleting itself), so the delete on this garbageable won't be called.
Reimplemented in Falcon::GarbagePointer, Falcon::LiveModule, and Falcon::StringGarbage.
uint32 Falcon::GarbageableBase::mark | ( | ) | const [inline] |
Return the current GC mark status.
void Falcon::GarbageableBase::mark | ( | uint32 | gen | ) | const [inline] |
void Falcon::GarbageableBase::nextGarbage | ( | GarbageableBase * | next | ) | [inline] |
GarbageableBase* Falcon::GarbageableBase::nextGarbage | ( | ) | const [inline] |
virtual uint32 Falcon::GarbageableBase::occupation | ( | ) | [virtual] |
Returns an exteem of the size occupied by this object in memory.
The final GC size is determined by an heuristic algorithm allocating part of the allocated space to the items returning 0 from this call (the default), taking away all the memory declared by items not returning 0.
void Falcon::GarbageableBase::prevGarbage | ( | GarbageableBase * | prev | ) | [inline] |
GarbageableBase* Falcon::GarbageableBase::prevGarbage | ( | ) | const [inline] |
GarbageableBase* Falcon::GarbageableBase::m_garbage_next [protected] |
GarbageableBase* Falcon::GarbageableBase::m_garbage_prev [protected] |
uint32 Falcon::GarbageableBase::m_gcStatus [mutable, protected] |