#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 44 of file memory_manager_context.h.
CVC3::ContextMemoryManager::ContextMemoryManager | ( | ) | [inline] |
Definition at line 81 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 63 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 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.
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 | ( | int | verbosity | ) | [inline] |
Definition at line 144 of file memory_manager_context.h.
References CVC3::chunkSizeBytes, d_chunkList, d_endChunkStack, d_indexChunkListStack, and d_nextFreeStack.
Referenced by CVC3::Scope::getMemory().
static unsigned CVC3::ContextMemoryManager::getStaticMemory | ( | int | verbosity | ) | [inline, static] |
Definition at line 160 of file memory_manager_context.h.
References CVC3::chunkSizeBytes, and s_freePages.
Referenced by CVC3::ContextManager::getMemory().
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 getMemory(), pop(), and push().
std::vector<char*> CVC3::ContextMemoryManager::d_endChunkStack [private] |
Definition at line 58 of file memory_manager_context.h.
Referenced by getMemory(), pop(), and push().
std::vector<unsigned> CVC3::ContextMemoryManager::d_indexChunkListStack [private] |
Definition at line 60 of file memory_manager_context.h.
Referenced by getMemory(), pop(), and push().