#include "MCJIT.h"
#include "llvm/ExecutionEngine/GenericValue.h"
#include "llvm/ExecutionEngine/JITEventListener.h"
-#include "llvm/ExecutionEngine/JITMemoryManager.h"
#include "llvm/ExecutionEngine/MCJIT.h"
#include "llvm/ExecutionEngine/ObjectBuffer.h"
#include "llvm/ExecutionEngine/ObjectImage.h"
}
void MCJIT::addObjectFile(object::OwningBinary<object::ObjectFile> Obj) {
- addObjectFile(std::move(Obj.getBinary()));
- Buffers.push_back(std::move(Obj.getBuffer()));
+ std::unique_ptr<object::ObjectFile> ObjFile;
+ std::unique_ptr<MemoryBuffer> MemBuf;
+ std::tie(ObjFile, MemBuf) = Obj.takeBinary();
+ addObjectFile(std::move(ObjFile));
+ Buffers.push_back(std::move(MemBuf));
}
void MCJIT::addArchive(object::OwningBinary<object::Archive> A) {
return Addr;
for (object::OwningBinary<object::Archive> &OB : Archives) {
- object::Archive *A = OB.getBinary().get();
+ object::Archive *A = OB.getBinary();
// Look for our symbols in each Archive
object::Archive::child_iterator ChildIt = A->findSym(Name);
if (ChildIt != A->child_end()) {
if (F->isDeclaration() || F->hasAvailableExternallyLinkage()) {
bool AbortOnFailure = !F->hasExternalWeakLinkage();
void *Addr = getPointerToNamedFunction(Name, AbortOnFailure);
- addGlobalMapping(F, Addr);
+ updateGlobalMapping(F, Addr);
return Addr;
}