#include <memory_manager_context.h>
Author: Clark Barrett
Created: Thu Aug 3 16:41:35 2006
Stack-based memory manager
Definition at line 43 of file memory_manager_context.h.
CVC3::ContextMemoryManager::ContextMemoryManager | ( | ) | [inline] |
Definition at line 80 of file memory_manager_context.h.
References CVC3::chunkSizeBytes, d_chunkList, d_endChunk, d_nextFree, FatalAssert, and s_freePages.
CVC3::ContextMemoryManager::~ContextMemoryManager | ( | ) | [inline] |
void CVC3::ContextMemoryManager::newChunk | ( | ) | [inline, private] |
Definition at line 62 of file memory_manager_context.h.
References CVC3::chunkSizeBytes, d_chunkList, 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 103 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 117 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 123 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 136 of file memory_manager_context.h.
References s_freePages.
Referenced by CVC3::Context::~Context().
unsigned CVC3::ContextMemoryManager::getMemory | ( | int | verbosity | ) | [inline] |
Definition at line 143 of file memory_manager_context.h.
References CVC3::chunkSizeBytes, d_chunkList, d_endChunkStack, d_indexChunkListStack, d_nextFreeStack, CVC3::MemoryTracker::getVec(), and CVC3::MemoryTracker::print().
Referenced by CVC3::Scope::getMemory().
static unsigned CVC3::ContextMemoryManager::getStaticMemory | ( | int | verbosity | ) | [inline, static] |
Definition at line 159 of file memory_manager_context.h.
References CVC3::chunkSizeBytes, CVC3::MemoryTracker::getVec(), CVC3::MemoryTracker::print(), and s_freePages.
Referenced by CVC3::ContextManager::getMemory().
vector< char * > ContextMemoryManager::s_freePages [static, private] |
Definition at line 44 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 45 of file memory_manager_context.h.
Referenced by ContextMemoryManager(), getMemory(), newChunk(), pop(), and ~ContextMemoryManager().
char* CVC3::ContextMemoryManager::d_nextFree [private] |
Definition at line 48 of file memory_manager_context.h.
Referenced by ContextMemoryManager(), newChunk(), newData(), pop(), and push().
char* CVC3::ContextMemoryManager::d_endChunk [private] |
Definition at line 50 of file memory_manager_context.h.
Referenced by ContextMemoryManager(), newChunk(), newData(), pop(), and push().
unsigned CVC3::ContextMemoryManager::d_indexChunkList [private] |
Definition at line 52 of file memory_manager_context.h.
Referenced by newChunk(), pop(), and push().
std::vector<char*> CVC3::ContextMemoryManager::d_nextFreeStack [private] |
Definition at line 55 of file memory_manager_context.h.
Referenced by getMemory(), pop(), and push().
std::vector<char*> CVC3::ContextMemoryManager::d_endChunkStack [private] |
Definition at line 57 of file memory_manager_context.h.
Referenced by getMemory(), pop(), and push().
std::vector<unsigned> CVC3::ContextMemoryManager::d_indexChunkListStack [private] |
Definition at line 59 of file memory_manager_context.h.
Referenced by getMemory(), pop(), and push().