CVC3::ContextMemoryManager Class Reference

ContextMemoryManager. More...

#include <memory_manager_context.h>

Inheritance diagram for CVC3::ContextMemoryManager:

Inheritance graph
[legend]
Collaboration diagram for CVC3::ContextMemoryManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Static Public Member Functions

Private Member Functions

Private Attributes

Static Private Attributes


Detailed Description

ContextMemoryManager.

Author: Clark Barrett

Created: Thu Aug 3 16:41:35 2006

Stack-based memory manager

Definition at line 41 of file memory_manager_context.h.


Constructor & Destructor Documentation

CVC3::ContextMemoryManager::ContextMemoryManager ( unsigned  chunkSize = 16384  )  [inline]

Definition at line 81 of file memory_manager_context.h.

References d_chunkList, d_chunkSizeBytes, d_endChunk, d_nextFree, FatalAssert, and s_freePages.

CVC3::ContextMemoryManager::~ContextMemoryManager (  )  [inline]

Definition at line 97 of file memory_manager_context.h.

References d_chunkList, and s_freePages.


Member Function Documentation

void CVC3::ContextMemoryManager::newChunk (  )  [inline, private]

Definition at line 63 of file memory_manager_context.h.

References d_chunkList, d_chunkSizeBytes, d_endChunk, d_indexChunkList, d_nextFree, DebugAssert, FatalAssert, and s_freePages.

Referenced by newData().

void* CVC3::ContextMemoryManager::newData ( size_t  size  )  [inline, virtual]

Implements CVC3::MemoryManager.

Definition at line 104 of file memory_manager_context.h.

References d_endChunk, d_nextFree, DebugAssert, and newChunk().

void CVC3::ContextMemoryManager::deleteData ( void *  d  )  [inline, virtual]

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.

References d_endChunk, d_endChunkStack, d_indexChunkList, d_indexChunkListStack, d_nextFree, and d_nextFreeStack.

void CVC3::ContextMemoryManager::pop (  )  [inline]

Definition at line 124 of file memory_manager_context.h.

References d_chunkList, d_endChunk, d_endChunkStack, d_indexChunkList, d_indexChunkListStack, d_nextFree, d_nextFreeStack, and s_freePages.

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

static void CVC3::ContextMemoryManager::garbageCollect ( void   )  [inline, static]

Definition at line 137 of file memory_manager_context.h.

References s_freePages.

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

unsigned CVC3::ContextMemoryManager::getMemory (  )  [inline]

Definition at line 144 of file memory_manager_context.h.

References d_chunkList, and d_chunkSizeBytes.

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

static unsigned CVC3::ContextMemoryManager::getStaticMemory (  )  [inline, static]

Definition at line 148 of file memory_manager_context.h.

References s_freePages.

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


Member Data Documentation

unsigned CVC3::ContextMemoryManager::d_chunkSizeBytes [private]

Definition at line 43 of file memory_manager_context.h.

Referenced by ContextMemoryManager(), getMemory(), and newChunk().

vector< char * > ContextMemoryManager::s_freePages [static, private]

Definition at line 45 of file memory_manager_context.h.

Referenced by ContextMemoryManager(), garbageCollect(), getStaticMemory(), newChunk(), pop(), and ~ContextMemoryManager().

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

Definition at line 46 of file memory_manager_context.h.

Referenced by ContextMemoryManager(), getMemory(), newChunk(), pop(), and ~ContextMemoryManager().

char* CVC3::ContextMemoryManager::d_nextFree [private]

Definition at line 49 of file memory_manager_context.h.

Referenced by ContextMemoryManager(), newChunk(), newData(), pop(), and push().

char* CVC3::ContextMemoryManager::d_endChunk [private]

Definition at line 51 of file memory_manager_context.h.

Referenced by ContextMemoryManager(), newChunk(), newData(), pop(), and push().

unsigned CVC3::ContextMemoryManager::d_indexChunkList [private]

Definition at line 53 of file memory_manager_context.h.

Referenced by newChunk(), pop(), and push().

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

Definition at line 56 of file memory_manager_context.h.

Referenced by pop(), and push().

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

Definition at line 58 of file memory_manager_context.h.

Referenced by pop(), and push().

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

Definition at line 60 of file memory_manager_context.h.

Referenced by pop(), and push().


The documentation for this class was generated from the following files:
Generated on Tue Jul 3 14:36:56 2007 for CVC3 by  doxygen 1.5.1