Classes | |
struct | Entry |
Public Types | |
enum | { HEAPENTRY_INVALID = -1 } |
typedef T | value_type |
typedef Common::Array< Entry > | ArrayType |
Public Member Functions | |
SegmentObjTable (SegmentType type) | |
void | initTable () |
int | allocEntry () |
bool | isValidOffset (uint32 offset) const override |
bool | isValidEntry (int idx) const |
virtual void | freeEntry (int idx) |
Common::Array< reg_t > | listAllDeallocatable (SegmentId segId) const override |
uint | size () const |
T & | at (uint index) |
const T & | at (uint index) const |
T & | operator[] (uint index) |
const T & | operator[] (uint index) const |
Public Member Functions inherited from Sci::SegmentObj | |
SegmentObj (SegmentType type) | |
SegmentType | getType () const |
virtual SegmentRef | dereference (reg_t pointer) |
virtual reg_t | findCanonicAddress (SegManager *segMan, reg_t sub_addr) const |
virtual void | freeAtAddress (SegManager *segMan, reg_t sub_addr) |
virtual Common::Array< reg_t > | listAllOutgoingReferences (reg_t object) const |
Public Member Functions inherited from Common::Serializable | |
virtual void | saveLoadWithSerializer (Serializer &ser)=0 |
Public Attributes | |
int | first_free |
int | entries_used |
ArrayType | _table |
Public Attributes inherited from Sci::SegmentObj | |
SegmentType | _type |
Additional Inherited Members | |
Static Public Member Functions inherited from Sci::SegmentObj | |
static SegmentObj * | createSegmentObj (SegmentType type) |
|
inlineoverridevirtual |
Check whether the given offset into this memory object is valid, i.e., suitable for passing to dereference.
Implements Sci::SegmentObj.
|
inlineoverridevirtual |
Iterates over and reports all addresses within the segment. Used by the garbage collector.
Reimplemented from Sci::SegmentObj.
int Sci::SegmentObjTable< T >::first_free |
Beginning of a singly linked list for entries
int Sci::SegmentObjTable< T >::entries_used |
Statistical information