about summary refs log tree commit diff homepage
path: root/lib/Core/MemoryManager.h
AgeCommit message (Collapse)Author
2015-10-17Implement gross hack to make it possible to execute code compiledDan Liew
with -m32 (i.e. for i386). Previously if this was attempt allocations in the program being executed by KLEE would hit an assertion because malloc() would return an address that doesn't fit in a 32-bit pointer. The interface of MemoryManager has been changed so that it is necessary to specify the pointer size on creation. The implementation has been changed to use a MASSIVE HACK when the pointer width is less than 64-bits.
2012-01-18Nice patch by Gang Hu, Heming Cui and Junfeng Yang fixing a memoryCristian Cadar
leak in KLEE. From Gang Hu: "The memory leak is caused by two reasons. First, the MemoryObject objects are not freed, until the MemoryManager is destroyed. Second, when KLEE allocates a non-fixed MemoryObject object, KLEE also allocates a block of memory which is the same as the object's size. This block of memory is never freed. So, this patch generally does reference counting on the MemoryObject objects, and frees them as soon as the reference count drops to zero." Many thanks to Paul Marinescu as well, who tested this patch thoroughly on the Coreutils benchmarks. On 1h runs, the memory consumption typically goes down by 1-5%, but some applications which see more significant gains. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@148402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-21Initial KLEE checkin.Daniel Dunbar
- Lots more tweaks, documentation, and web page content is needed, but this should compile & work on OS X & Linux. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72205 91177308-0d34-0410-b5e6-96231b3b80d8