#include <memory_temporal.h>
Public Member Functions | |
TimePool () | |
TimePool (CkMigrateMessage *msg) | |
~TimePool () | |
void | pup (PUP::er &p) |
Pack/UnPack - tell the runtime how to serialize this class's data for migration, checkpoint, etc. | |
char * | tmp_alloc (POSE_TimeType timestamp, int sz_in_bytes) |
void | tmp_free (POSE_TimeType timestamp, void *mem) |
void | set_min_time (POSE_TimeType min_t) |
void | empty_recycle_bin () |
void | sanity_check () |
Private Member Functions | |
void | clean_up () |
Private Attributes | |
TimeBucket * | last_in_use |
TimeBucket * | first_in_use |
SuperBlock * | not_in_use |
int | not_in_use_sz |
POSE_TimeType | min_time |
int | BLOCK_RANGE |
Definition at line 218 of file memory_temporal.h.
TimePool::TimePool | ( | ) | [inline] |
Definition at line 232 of file memory_temporal.h.
TimePool::TimePool | ( | CkMigrateMessage * | msg | ) | [inline] |
Definition at line 234 of file memory_temporal.h.
TimePool::~TimePool | ( | ) |
Definition at line 99 of file memory_temporal.C.
References SuperBlock::getNextBlock(), TimeBucket::getNextBucket(), last_in_use, and not_in_use.
void TimePool::clean_up | ( | ) | [private] |
Definition at line 36 of file memory_temporal.C.
References first_in_use, TimeBucket::getFirstSuperBlock(), SuperBlock::getNextBlock(), TimeBucket::getNextBucket(), TimeBucket::getPrevBucket(), TimeBucket::getRange(), TimeBucket::getStart(), last_in_use, min_time, SuperBlock::noLongerReferenced(), not_in_use, not_in_use_sz, sanity_check(), TimeBucket::setFirstSuperBlock(), SuperBlock::setNextBlock(), TimeBucket::setNextBucket(), and TimeBucket::setPrevBucket().
Referenced by set_min_time().
void TimePool::pup | ( | PUP::er & | p | ) | [inline, virtual] |
Pack/UnPack - tell the runtime how to serialize this class's data for migration, checkpoint, etc.
Reimplemented from Group.
Definition at line 236 of file memory_temporal.h.
char * TimePool::tmp_alloc | ( | POSE_TimeType | timestamp, | |
int | sz_in_bytes | |||
) |
Definition at line 116 of file memory_temporal.C.
References first_in_use, TimeBucket::getNextBucket(), TimeBucket::getRange(), TimeBucket::getStart(), TimeBucket::initBucket(), TimeBucket::isVeryFull(), last_in_use, not_in_use, not_in_use_sz, sanity_check(), TimeBucket::setNextBucket(), TimeBucket::setPrevBucket(), TimeBucket::setRange(), TimeBucket::setStart(), and TimeBucket::tb_alloc().
Referenced by chpt< StateType >::checkpoint().
void TimePool::tmp_free | ( | POSE_TimeType | timestamp, | |
void * | mem | |||
) |
Definition at line 190 of file memory_temporal.C.
References first_in_use, TimeBucket::getPrevBucket(), TimeBucket::getRange(), TimeBucket::getStart(), sanity_check(), and TimeBucket::tb_free().
Referenced by eventQueue::CommitEvents(), chpt< StateType >::restore(), and opt::Rollback().
void TimePool::set_min_time | ( | POSE_TimeType | min_t | ) | [inline] |
Definition at line 242 of file memory_temporal.h.
References clean_up(), and min_time.
Referenced by eventQueue::CommitEvents(), and PVT::setGVT().
void TimePool::empty_recycle_bin | ( | ) | [inline] |
Definition at line 243 of file memory_temporal.h.
References PUP::b, SuperBlock::getNextBlock(), and not_in_use.
Referenced by eventQueue::CommitEvents().
void TimePool::sanity_check | ( | ) |
Definition at line 212 of file memory_temporal.C.
References first_in_use, TimeBucket::getNextBucket(), TimeBucket::getPrevBucket(), last_in_use, POSE_UnsetTS, and TimeBucket::sanity_check().
Referenced by clean_up(), tmp_alloc(), and tmp_free().
TimeBucket* TimePool::last_in_use [private] |
Definition at line 219 of file memory_temporal.h.
Referenced by clean_up(), sanity_check(), tmp_alloc(), and ~TimePool().
TimeBucket* TimePool::first_in_use [private] |
Definition at line 220 of file memory_temporal.h.
Referenced by clean_up(), sanity_check(), tmp_alloc(), and tmp_free().
SuperBlock* TimePool::not_in_use [private] |
Definition at line 221 of file memory_temporal.h.
Referenced by clean_up(), empty_recycle_bin(), tmp_alloc(), and ~TimePool().
int TimePool::not_in_use_sz [private] |
POSE_TimeType TimePool::min_time [private] |
int TimePool::BLOCK_RANGE [private] |
Definition at line 227 of file memory_temporal.h.