From 5bac013d617ab3c03cdc9ee034e5efbb03adf3de Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Thu, 24 Jan 2013 14:12:12 +0000 Subject: lli/RecordingMemoryManager: Free allocated sections in the destructor to satisfy --vg-leak! FIXME: It could be generalized in MemoryManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173349 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/lli/RecordingMemoryManager.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tools/lli/RecordingMemoryManager.cpp') diff --git a/tools/lli/RecordingMemoryManager.cpp b/tools/lli/RecordingMemoryManager.cpp index 75cb978130..d9715e1a03 100644 --- a/tools/lli/RecordingMemoryManager.cpp +++ b/tools/lli/RecordingMemoryManager.cpp @@ -15,6 +15,17 @@ #include "RecordingMemoryManager.h" using namespace llvm; +RecordingMemoryManager::~RecordingMemoryManager() { + for (SmallVectorImpl::iterator + I = AllocatedCodeMem.begin(), E = AllocatedCodeMem.end(); + I != E; ++I) + free(I->first.base()); + for (SmallVectorImpl::iterator + I = AllocatedDataMem.begin(), E = AllocatedDataMem.end(); + I != E; ++I) + free(I->first.base()); +} + uint8_t *RecordingMemoryManager:: allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { // The recording memory manager is just a local copy of the remote target. -- cgit v1.2.3