hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Private Member Functions | Private Attributes | List of all members
hobbes::region Class Reference

#include <region.H>

Collaboration diagram for hobbes::region:
Collaboration graph

Public Member Functions

 region (unsigned int minPageSize, unsigned int initialFreePages=1, unsigned int maxPageSize=1 *1024 *1024 *1024)
 
 ~region ()
 
void * malloc (unsigned int sz)
 
void clear ()
 
void reset ()
 
size_t allocated () const
 
size_t used () const
 
size_t wasted () const
 
std::string show () const
 
void abortAtMemCeiling (size_t)
 

Private Member Functions

mempagenewpage (mempage *succ, unsigned int sz)
 
void allocpage (unsigned int sz)
 
void freepage (mempage *p)
 
void freepages (mempage *p)
 

Private Attributes

unsigned int minPageSize
 
unsigned int maxPageSize
 
unsigned int lastAllocPageSize
 
bool abortOnOOM
 
size_t maxTotalAllocation
 
size_t totalAllocation
 
mempageusedp
 
mempagefreep
 

Constructor & Destructor Documentation

◆ region()

hobbes::region::region ( unsigned int  minPageSize,
unsigned int  initialFreePages = 1,
unsigned int  maxPageSize = 1*1024*1024*1024 
)

◆ ~region()

hobbes::region::~region ( )

Member Function Documentation

◆ abortAtMemCeiling()

void hobbes::region::abortAtMemCeiling ( size_t  maxsz)

◆ allocated()

size_t hobbes::region::allocated ( ) const

◆ allocpage()

void hobbes::region::allocpage ( unsigned int  sz)
private

◆ clear()

void hobbes::region::clear ( )

◆ freepage()

void hobbes::region::freepage ( mempage p)
private

◆ freepages()

void hobbes::region::freepages ( mempage p)
private

◆ malloc()

void * hobbes::region::malloc ( unsigned int  sz)

◆ newpage()

mempage * hobbes::region::newpage ( mempage succ,
unsigned int  sz 
)
private

◆ reset()

void hobbes::region::reset ( )

◆ show()

std::string hobbes::region::show ( ) const

◆ used()

size_t hobbes::region::used ( ) const

◆ wasted()

size_t hobbes::region::wasted ( ) const

Member Data Documentation

◆ abortOnOOM

bool hobbes::region::abortOnOOM
private

◆ freep

mempage* hobbes::region::freep
private

◆ lastAllocPageSize

unsigned int hobbes::region::lastAllocPageSize
private

◆ maxPageSize

unsigned int hobbes::region::maxPageSize
private

◆ maxTotalAllocation

size_t hobbes::region::maxTotalAllocation
private

◆ minPageSize

unsigned int hobbes::region::minPageSize
private

◆ totalAllocation

size_t hobbes::region::totalAllocation
private

◆ usedp

mempage* hobbes::region::usedp
private

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