mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 02:29:18 +00:00
unique_ptrify MCJIT::emitObject
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217067 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
96a8ccfab7
commit
3693c29d1c
@ -123,7 +123,7 @@ void MCJIT::setObjectCache(ObjectCache* NewCache) {
|
||||
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(Module *M) {
|
||||
ObjCache->notifyObjectCompiled(M, MB);
|
||||
}
|
||||
|
||||
return CompiledObject.release();
|
||||
return CompiledObject;
|
||||
}
|
||||
|
||||
void MCJIT::generateCodeForModule(Module *M) {
|
||||
@ -185,8 +185,8 @@ void MCJIT::generateCodeForModule(Module *M) {
|
||||
|
||||
// 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.
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user