gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
PoolManager Class Referenceabstract

#include <pool_manager.hh>

Inheritance diagram for PoolManager:
SimplePoolManager

Public Member Functions

 PoolManager (uint32_t minAlloc, uint32_t poolSize)
 
uint32_t minAllocation ()
 
virtual std::string printRegion ()=0
 
virtual uint32_t regionSize (std::pair< uint32_t, uint32_t > &region)=0
 
virtual bool canAllocate (uint32_t numRegions, uint32_t size)=0
 
virtual uint32_t allocateRegion (const uint32_t size, uint32_t *reserved)=0
 
virtual void freeRegion (uint32_t firstIdx, uint32_t lastIdx)=0
 
uint32_t poolSize ()
 

Private Attributes

uint32_t _minAllocation
 
uint32_t _poolSize
 

Detailed Description

Definition at line 44 of file pool_manager.hh.

Constructor & Destructor Documentation

◆ PoolManager()

PoolManager::PoolManager ( uint32_t  minAlloc,
uint32_t  poolSize 
)

Definition at line 38 of file pool_manager.cc.

Member Function Documentation

◆ allocateRegion()

virtual uint32_t PoolManager::allocateRegion ( const uint32_t  size,
uint32_t *  reserved 
)
pure virtual

Implemented in SimplePoolManager.

Referenced by minAllocation().

◆ canAllocate()

virtual bool PoolManager::canAllocate ( uint32_t  numRegions,
uint32_t  size 
)
pure virtual

Implemented in SimplePoolManager.

Referenced by minAllocation().

◆ freeRegion()

virtual void PoolManager::freeRegion ( uint32_t  firstIdx,
uint32_t  lastIdx 
)
pure virtual

Implemented in SimplePoolManager.

Referenced by minAllocation().

◆ minAllocation()

uint32_t PoolManager::minAllocation ( )
inline

◆ poolSize()

uint32_t PoolManager::poolSize ( )
inline

◆ printRegion()

virtual std::string PoolManager::printRegion ( )
pure virtual

Implemented in SimplePoolManager.

Referenced by minAllocation().

◆ regionSize()

virtual uint32_t PoolManager::regionSize ( std::pair< uint32_t, uint32_t > &  region)
pure virtual

Implemented in SimplePoolManager.

Referenced by minAllocation().

Member Data Documentation

◆ _minAllocation

uint32_t PoolManager::_minAllocation
private

Definition at line 61 of file pool_manager.hh.

Referenced by minAllocation().

◆ _poolSize

uint32_t PoolManager::_poolSize
private

Definition at line 63 of file pool_manager.hh.

Referenced by poolSize().


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

Generated on Fri Feb 28 2020 16:27:14 for gem5 by doxygen 1.8.13