#include <memory_manager_context.h>
Inheritance diagram for CVC3::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.
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] |
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] |
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().
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] |
std::vector<char*> CVC3::ContextMemoryManager::d_endChunkStack [private] |
std::vector<unsigned> CVC3::ContextMemoryManager::d_indexChunkListStack [private] |