[llvm] r217067 - unique_ptrify MCJIT::emitObject
David Blaikie
dblaikie at gmail.com
Wed Sep 3 12:57:35 PDT 2014
Author: dblaikie
Date: Wed Sep 3 14:57:35 2014
New Revision: 217067
URL: http://llvm.org/viewvc/llvm-project?rev=217067&view=rev
Log:
unique_ptrify MCJIT::emitObject
Modified:
llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.cpp
llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h
Modified: llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.cpp?rev=217067&r1=217066&r2=217067&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.cpp Wed Sep 3 14:57:35 2014
@@ -123,7 +123,7 @@ void MCJIT::setObjectCache(ObjectCache*
ObjCache = NewCache;
}
-ObjectBufferStream* MCJIT::emitObject(Module *M) {
+std::unique_ptr<ObjectBufferStream> MCJIT::emitObject(Module *M) {
MutexGuard locked(lock);
// This must be a module which has already been added but not loaded to this
@@ -159,7 +159,7 @@ ObjectBufferStream* MCJIT::emitObject(Mo
ObjCache->notifyObjectCompiled(M, MB);
}
- return CompiledObject.release();
+ return CompiledObject;
}
void MCJIT::generateCodeForModule(Module *M) {
@@ -185,8 +185,8 @@ void MCJIT::generateCodeForModule(Module
// If the cache did not contain a suitable object, compile the object
if (!ObjectToLoad) {
- ObjectToLoad.reset(emitObject(M));
- assert(ObjectToLoad.get() && "Compilation did not produce an object.");
+ ObjectToLoad = emitObject(M);
+ assert(ObjectToLoad && "Compilation did not produce an object.");
}
// Load the object into the dynamic linker.
Modified: llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h?rev=217067&r1=217066&r2=217067&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h (original)
+++ llvm/trunk/lib/ExecutionEngine/MCJIT/MCJIT.h Wed Sep 3 14:57:35 2014
@@ -338,7 +338,7 @@ protected:
/// this function call is expected to be the contained module. The module
/// is passed as a parameter here to prepare for multiple module support in
/// the future.
- ObjectBufferStream* emitObject(Module *M);
+ std::unique_ptr<ObjectBufferStream> emitObject(Module *M);
void NotifyObjectEmitted(const ObjectImage& Obj);
void NotifyFreeingObject(const ObjectImage& Obj);
More information about the llvm-commits
mailing list