klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::MemoryManager Class Reference

#include <MemoryManager.h>

Public Member Functions

 MemoryManager ()
 
 ~MemoryManager ()
 
MemoryObjectallocate (uint64_t size, bool isLocal, bool isGlobal, const llvm::Value *allocSite)
 
MemoryObjectallocateFixed (uint64_t address, uint64_t size, const llvm::Value *allocSite)
 
void deallocate (const MemoryObject *mo)
 
void markFreed (MemoryObject *mo)
 

Private Types

typedef std::set< MemoryObject * > objects_ty
 

Private Attributes

objects_ty objects
 

Detailed Description

Definition at line 23 of file MemoryManager.h.

Member Typedef Documentation

typedef std::set<MemoryObject*> klee::MemoryManager::objects_ty
private

Definition at line 25 of file MemoryManager.h.

Constructor & Destructor Documentation

klee::MemoryManager::MemoryManager ( )
inline

Definition at line 29 of file MemoryManager.h.

MemoryManager::~MemoryManager ( )

Member Function Documentation

MemoryObject * MemoryManager::allocate ( uint64_t  size,
bool  isLocal,
bool  isGlobal,
const llvm::Value *  allocSite 
)

Definition at line 36 of file MemoryManager.cpp.

References klee::stats::allocations, klee::klee_warning_once(), and objects.

Referenced by klee::Executor::executeAlloc(), klee::Executor::executeCall(), klee::Executor::initializeGlobals(), and klee::Executor::runFunctionAsMain().

Here is the call graph for this function:

Here is the caller graph for this function:

MemoryObject * MemoryManager::allocateFixed ( uint64_t  address,
uint64_t  size,
const llvm::Value *  allocSite 
)

Definition at line 53 of file MemoryManager.cpp.

References klee::MemoryObject::address, klee::stats::allocations, klee::klee_error(), objects, and klee::MemoryObject::size.

Referenced by klee::Executor::addExternalObject(), and klee::Executor::initializeGlobals().

Here is the call graph for this function:

Here is the caller graph for this function:

void MemoryManager::deallocate ( const MemoryObject mo)

Definition at line 71 of file MemoryManager.cpp.

void MemoryManager::markFreed ( MemoryObject mo)

Definition at line 75 of file MemoryManager.cpp.

References klee::MemoryObject::address, klee::MemoryObject::isFixed, and objects.

Referenced by klee::MemoryObject::~MemoryObject().

Here is the caller graph for this function:

Member Data Documentation

objects_ty klee::MemoryManager::objects
private

Definition at line 26 of file MemoryManager.h.

Referenced by allocate(), allocateFixed(), markFreed(), and ~MemoryManager().


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