[llvm] r215567 - Simplify memory ownership with std::unique_ptr.
Rafael Espindola
rafael.espindola at gmail.com
Wed Aug 13 11:59:01 PDT 2014
Author: rafael
Date: Wed Aug 13 13:59:01 2014
New Revision: 215567
URL: http://llvm.org/viewvc/llvm-project?rev=215567&view=rev
Log:
Simplify memory ownership with std::unique_ptr.
Modified:
llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp
Modified: llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp?rev=215567&r1=215566&r2=215567&view=diff
==============================================================================
--- llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp (original)
+++ llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp Wed Aug 13 13:59:01 2014
@@ -25,16 +25,6 @@ class TestObjectCache : public ObjectCac
public:
TestObjectCache() : DuplicateInserted(false) { }
- virtual ~TestObjectCache() {
- // Free any buffers we've allocated.
- SmallVectorImpl<MemoryBuffer *>::iterator it, end;
- end = AllocatedBuffers.end();
- for (it = AllocatedBuffers.begin(); it != end; ++it) {
- delete *it;
- }
- AllocatedBuffers.clear();
- }
-
virtual void notifyObjectCompiled(const Module *M, const MemoryBuffer *Obj) {
// If we've seen this module before, note that.
const std::string ModuleID = M->getModuleIdentifier();
@@ -75,14 +65,16 @@ public:
private:
MemoryBuffer *copyBuffer(const MemoryBuffer *Buf) {
// Create a local copy of the buffer.
- MemoryBuffer *NewBuffer = MemoryBuffer::getMemBufferCopy(Buf->getBuffer());
- AllocatedBuffers.push_back(NewBuffer);
- return NewBuffer;
+ std::unique_ptr<MemoryBuffer> NewBuffer(
+ MemoryBuffer::getMemBufferCopy(Buf->getBuffer()));
+ MemoryBuffer *Ret = NewBuffer.get();
+ AllocatedBuffers.push_back(std::move(NewBuffer));
+ return Ret;
}
StringMap<const MemoryBuffer *> ObjMap;
StringSet<> ModulesLookedUp;
- SmallVector<MemoryBuffer *, 2> AllocatedBuffers;
+ SmallVector<std::unique_ptr<MemoryBuffer>, 2> AllocatedBuffers;
bool DuplicateInserted;
};
More information about the llvm-commits
mailing list