klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MemoryManager.h
Go to the documentation of this file.
1 //===-- MemoryManager.h -----------------------------------------*- C++ -*-===//
2 //
3 // The KLEE Symbolic Virtual Machine
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef KLEE_MEMORYMANAGER_H
11 #define KLEE_MEMORYMANAGER_H
12 
13 #include <set>
14 #include <stdint.h>
15 
16 namespace llvm {
17  class Value;
18 }
19 
20 namespace klee {
21  class MemoryObject;
22 
23  class MemoryManager {
24  private:
25  typedef std::set<MemoryObject*> objects_ty;
27 
28  public:
31 
32  MemoryObject *allocate(uint64_t size, bool isLocal, bool isGlobal,
33  const llvm::Value *allocSite);
34  MemoryObject *allocateFixed(uint64_t address, uint64_t size,
35  const llvm::Value *allocSite);
36  void deallocate(const MemoryObject *mo);
37  void markFreed(MemoryObject *mo);
38  };
39 
40 } // End klee namespace
41 
42 #endif
void markFreed(MemoryObject *mo)
std::set< MemoryObject * > objects_ty
Definition: MemoryManager.h:25
MemoryObject * allocate(uint64_t size, bool isLocal, bool isGlobal, const llvm::Value *allocSite)
void deallocate(const MemoryObject *mo)
MemoryObject * allocateFixed(uint64_t address, uint64_t size, const llvm::Value *allocSite)