MemoryManager.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef KLEE_MEMORYMANAGER_H
00011 #define KLEE_MEMORYMANAGER_H
00012
00013 #include <vector>
00014 #include <stdint.h>
00015
00016 namespace llvm {
00017 class Value;
00018 }
00019
00020 namespace klee {
00021 class MemoryObject;
00022
00023 class MemoryManager {
00024 private:
00025 typedef std::vector<MemoryObject*> objects_ty;
00026 objects_ty objects;
00027
00028 public:
00029 MemoryManager() {}
00030 ~MemoryManager();
00031
00032 MemoryObject *allocate(uint64_t size, bool isLocal, bool isGlobal,
00033 const llvm::Value *allocSite);
00034 MemoryObject *allocateFixed(uint64_t address, uint64_t size,
00035 const llvm::Value *allocSite);
00036 void deallocate(const MemoryObject *mo);
00037 };
00038
00039 }
00040
00041 #endif