PPL Logo

TimeBucket Class Reference

TimeBucket associates a time range with (a) large block(s) of memory. More...

#include <memory_temporal.h>

Collaboration diagram for TimeBucket:

Collaboration graph
[legend]

Public Member Functions

 TimeBucket ()
 ~TimeBucket ()
void initBucket (POSE_TimeType start_t, POSE_TimeType range_t, SuperBlock **p, int *pSz)
int getNumSuperBlocks ()
int getStart ()
int getRange ()
void setStart (int s)
void setRange (int r)
bool isVeryFull ()
SuperBlockgetFirstSuperBlock ()
void setFirstSuperBlock (SuperBlock *sb)
void setPrevBucket (TimeBucket *p)
void setNextBucket (TimeBucket *n)
TimeBucketgetPrevBucket ()
TimeBucketgetNextBucket ()
char * tb_alloc (int sz)
void tb_free (char *mem)
POSE_TimeType sanity_check (POSE_TimeType last_time)

Private Attributes

POSE_TimeType start
POSE_TimeType range
int numSuperBlocks
SuperBlocksBlocks
TimeBucketnextBucket
TimeBucketprevBucket
SuperBlock ** pool
intpoolSz

Detailed Description

TimeBucket associates a time range with (a) large block(s) of memory.

Definition at line 113 of file memory_temporal.h.


Constructor & Destructor Documentation

TimeBucket::TimeBucket (  )  [inline]

Definition at line 124 of file memory_temporal.h.

TimeBucket::~TimeBucket (  )  [inline]

Definition at line 126 of file memory_temporal.h.


Member Function Documentation

void TimeBucket::initBucket ( POSE_TimeType  start_t,
POSE_TimeType  range_t,
SuperBlock **  p,
int pSz 
) [inline]

Definition at line 128 of file memory_temporal.h.

References SuperBlock::getNextBlock(), SuperBlock::initBlock(), numSuperBlocks, pool, poolSz, range, SuperBlock::resetBlock(), sBlocks, and start.

Referenced by TimePool::tmp_alloc().

Here is the call graph for this function:

Here is the caller graph for this function:

int TimeBucket::getNumSuperBlocks (  )  [inline]

Definition at line 145 of file memory_temporal.h.

References numSuperBlocks.

int TimeBucket::getStart ( void   )  [inline]

Definition at line 146 of file memory_temporal.h.

References start.

Referenced by TimePool::clean_up(), TimePool::tmp_alloc(), and TimePool::tmp_free().

Here is the caller graph for this function:

int TimeBucket::getRange (  )  [inline]

Definition at line 147 of file memory_temporal.h.

References range.

Referenced by TimePool::clean_up(), TimePool::tmp_alloc(), and TimePool::tmp_free().

Here is the caller graph for this function:

void TimeBucket::setStart ( int  s  )  [inline]

Definition at line 148 of file memory_temporal.h.

References start.

Referenced by TimePool::tmp_alloc().

Here is the caller graph for this function:

void TimeBucket::setRange ( int  r  )  [inline]

Definition at line 149 of file memory_temporal.h.

References range.

Referenced by TimePool::tmp_alloc().

Here is the caller graph for this function:

bool TimeBucket::isVeryFull (  )  [inline]

Definition at line 150 of file memory_temporal.h.

References SuperBlock::getPercentFull(), numSuperBlocks, and sBlocks.

Referenced by TimePool::tmp_alloc().

Here is the call graph for this function:

Here is the caller graph for this function:

SuperBlock* TimeBucket::getFirstSuperBlock (  )  [inline]

Definition at line 155 of file memory_temporal.h.

References sBlocks.

Referenced by TimePool::clean_up().

Here is the caller graph for this function:

void TimeBucket::setFirstSuperBlock ( SuperBlock sb  )  [inline]

Definition at line 156 of file memory_temporal.h.

References sBlocks.

Referenced by TimePool::clean_up().

Here is the caller graph for this function:

void TimeBucket::setPrevBucket ( TimeBucket p  )  [inline]

Definition at line 157 of file memory_temporal.h.

References prevBucket.

Referenced by TimePool::clean_up(), and TimePool::tmp_alloc().

Here is the caller graph for this function:

void TimeBucket::setNextBucket ( TimeBucket n  )  [inline]

Definition at line 158 of file memory_temporal.h.

References nextBucket.

Referenced by TimePool::clean_up(), and TimePool::tmp_alloc().

Here is the caller graph for this function:

TimeBucket* TimeBucket::getPrevBucket (  )  [inline]

Definition at line 159 of file memory_temporal.h.

References prevBucket.

Referenced by TimePool::clean_up(), TimePool::sanity_check(), and TimePool::tmp_free().

Here is the caller graph for this function:

TimeBucket* TimeBucket::getNextBucket (  )  [inline]

Definition at line 160 of file memory_temporal.h.

References nextBucket.

Referenced by TimePool::clean_up(), TimePool::sanity_check(), TimePool::tmp_alloc(), and TimePool::~TimePool().

Here is the caller graph for this function:

char* TimeBucket::tb_alloc ( int  sz  )  [inline]

Definition at line 162 of file memory_temporal.h.

References SuperBlock::getNextBlock(), SuperBlock::initBlock(), numSuperBlocks, pool, SuperBlock::resetBlock(), SuperBlock::sb_alloc(), sBlocks, and SuperBlock::setNextBlock().

Referenced by TimePool::tmp_alloc().

Here is the call graph for this function:

Here is the caller graph for this function:

void TimeBucket::tb_free ( char *  mem  )  [inline]

Definition at line 194 of file memory_temporal.h.

References CpuTopoDetails::done, SuperBlock::getNextBlock(), SuperBlock::noLongerReferenced(), numSuperBlocks, SuperBlock::sb_free(), and sBlocks.

Referenced by TimePool::tmp_free().

Here is the call graph for this function:

Here is the caller graph for this function:

POSE_TimeType TimeBucket::sanity_check ( POSE_TimeType  last_time  ) 

Definition at line 16 of file memory_temporal.C.

References count, SuperBlock::getNextBlock(), SuperBlock::noLongerReferenced(), numSuperBlocks, range, SuperBlock::sanity_check(), sBlocks, and start.

Referenced by TimePool::sanity_check().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 114 of file memory_temporal.h.

Referenced by getStart(), initBucket(), sanity_check(), and setStart().

Definition at line 115 of file memory_temporal.h.

Referenced by getRange(), initBucket(), sanity_check(), and setRange().

Definition at line 118 of file memory_temporal.h.

Referenced by getNextBucket(), and setNextBucket().

Definition at line 119 of file memory_temporal.h.

Referenced by getPrevBucket(), and setPrevBucket().

Definition at line 120 of file memory_temporal.h.

Referenced by initBucket(), and tb_alloc().

int* TimeBucket::poolSz [private]

Definition at line 121 of file memory_temporal.h.

Referenced by initBucket().


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

Generated on Mon Sep 21 08:30:49 2020 for Charm++ by  doxygen 1.5.5