CVC3  2.4.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CVC3::ContextMemoryManager Class Reference

ContextMemoryManager. More...

#include <memory_manager_context.h>

Inheritance diagram for CVC3::ContextMemoryManager:
CVC3::MemoryManager

Public Member Functions

 ContextMemoryManager ()
 
 ~ContextMemoryManager ()
 
void * newData (size_t size)
 
void deleteData (void *d)
 
void push ()
 
void pop ()
 
unsigned getMemory (int verbosity)
 
- Public Member Functions inherited from CVC3::MemoryManager
virtual ~MemoryManager ()
 

Static Public Member Functions

static void garbageCollect (void)
 
static unsigned getStaticMemory (int verbosity)
 

Private Member Functions

void newChunk ()
 

Private Attributes

std::vector< char * > d_chunkList
 
char * d_nextFree
 
char * d_endChunk
 
unsigned d_indexChunkList
 
std::vector< char * > d_nextFreeStack
 
std::vector< char * > d_endChunkStack
 
std::vector< unsigned > d_indexChunkListStack
 

Static Private Attributes

static std::vector< char * > s_freePages
 

Detailed Description

ContextMemoryManager.

Author: Clark Barrett

Created: Thu Aug 3 16:41:35 2006

Stack-based memory manager

Definition at line 44 of file memory_manager_context.h.

Constructor & Destructor Documentation

CVC3::ContextMemoryManager::ContextMemoryManager ( )
inline

Definition at line 81 of file memory_manager_context.h.

References CVC3::chunkSizeBytes, and FatalAssert.

Referenced by getMemory().

CVC3::ContextMemoryManager::~ContextMemoryManager ( )
inline

Definition at line 97 of file memory_manager_context.h.

Member Function Documentation

void CVC3::ContextMemoryManager::newChunk ( )
inlineprivate

Definition at line 63 of file memory_manager_context.h.

References CVC3::chunkSizeBytes, d_indexChunkList, DebugAssert, and FatalAssert.

Referenced by newData().

void* CVC3::ContextMemoryManager::newData ( size_t  size)
inlinevirtual

Implements CVC3::MemoryManager.

Definition at line 104 of file memory_manager_context.h.

References DebugAssert, and newChunk().

Referenced by CVC3::Scope::operator new().

void CVC3::ContextMemoryManager::deleteData ( void *  d)
inlinevirtual

Implements CVC3::MemoryManager.

Definition at line 116 of file memory_manager_context.h.

void CVC3::ContextMemoryManager::push ( )
inline

Definition at line 118 of file memory_manager_context.h.

void CVC3::ContextMemoryManager::pop ( )
inline

Definition at line 124 of file memory_manager_context.h.

References d_indexChunkList.

Referenced by CVC3::Context::pop().

static void CVC3::ContextMemoryManager::garbageCollect ( void  )
inlinestatic

Definition at line 137 of file memory_manager_context.h.

Referenced by CVC3::Context::~Context().

unsigned CVC3::ContextMemoryManager::getMemory ( int  verbosity)
inline
static unsigned CVC3::ContextMemoryManager::getStaticMemory ( int  verbosity)
inlinestatic

Member Data Documentation

vector< char * > ContextMemoryManager::s_freePages
staticprivate

Definition at line 45 of file memory_manager_context.h.

std::vector<char*> CVC3::ContextMemoryManager::d_chunkList
private

Definition at line 46 of file memory_manager_context.h.

char* CVC3::ContextMemoryManager::d_nextFree
private

Definition at line 49 of file memory_manager_context.h.

char* CVC3::ContextMemoryManager::d_endChunk
private

Definition at line 51 of file memory_manager_context.h.

unsigned CVC3::ContextMemoryManager::d_indexChunkList
private

Definition at line 53 of file memory_manager_context.h.

Referenced by newChunk(), and pop().

std::vector<char*> CVC3::ContextMemoryManager::d_nextFreeStack
private

Definition at line 56 of file memory_manager_context.h.

std::vector<char*> CVC3::ContextMemoryManager::d_endChunkStack
private

Definition at line 58 of file memory_manager_context.h.

std::vector<unsigned> CVC3::ContextMemoryManager::d_indexChunkListStack
private

Definition at line 60 of file memory_manager_context.h.


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