From: Lang Hames Date: Mon, 7 Dec 2015 17:35:56 +0000 (+0000) Subject: [Orc] Removing traces of takeOwnershipOfBuffers left after r251560. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=07b637e04d1e88688c2456da1bd02eef08682cf7;p=oota-llvm.git [Orc] Removing traces of takeOwnershipOfBuffers left after r251560. Patch by Joshua Gerrard. Thanks Joshua! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254919 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h b/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h index 7af66208547..f96e83ed5a1 100644 --- a/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h +++ b/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h @@ -87,14 +87,6 @@ public: BaseLayer.mapSectionAddress(H, LocalAddress, TargetAddr); } - // Ownership hack. - // FIXME: Remove this as soon as RuntimeDyldELF can apply relocations without - // referencing the original object. - template - void takeOwnershipOfBuffers(ObjSetHandleT H, OwningMBSet MBs) { - BaseLayer.takeOwnershipOfBuffers(H, std::move(MBs)); - } - /// @brief Access the transform functor directly. TransformFtor &getTransform() { return Transform; } diff --git a/tools/llvm-rtdyld/llvm-rtdyld.cpp b/tools/llvm-rtdyld/llvm-rtdyld.cpp index 59c9a0c990f..6ee3a44b63b 100644 --- a/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -388,11 +388,6 @@ static int executeInput() { doPreallocation(MemMgr); RuntimeDyld Dyld(MemMgr, MemMgr); - // FIXME: Preserve buffers until resolveRelocations time to work around a bug - // in RuntimeDyldELF. - // This fixme should be fixed ASAP. This is a very brittle workaround. - std::vector> InputBuffers; - // If we don't have any input files, read from stdin. if (!InputFileList.size()) InputFileList.push_back("-"); @@ -409,7 +404,6 @@ static int executeInput() { return Error("unable to create object file: '" + EC.message() + "'"); ObjectFile &Obj = **MaybeObj; - InputBuffers.push_back(std::move(*InputBuffer)); // Load the object file Dyld.loadObject(Obj); @@ -656,11 +650,6 @@ static int linkAndVerify() { RuntimeDyldChecker Checker(Dyld, Disassembler.get(), InstPrinter.get(), llvm::dbgs()); - // FIXME: Preserve buffers until resolveRelocations time to work around a bug - // in RuntimeDyldELF. - // This fixme should be fixed ASAP. This is a very brittle workaround. - std::vector> InputBuffers; - // If we don't have any input files, read from stdin. if (!InputFileList.size()) InputFileList.push_back("-"); @@ -679,7 +668,6 @@ static int linkAndVerify() { return Error("unable to create object file: '" + EC.message() + "'"); ObjectFile &Obj = **MaybeObj; - InputBuffers.push_back(std::move(*InputBuffer)); // Load the object file Dyld.loadObject(Obj); diff --git a/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp b/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp index 41b2307cadd..c88c94f17b1 100644 --- a/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp +++ b/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp @@ -157,21 +157,6 @@ public: resetExpectations(); } - template - void takeOwnershipOfBuffers(ObjSetHandleT H, OwningMBSet MBs) { - EXPECT_EQ(MockObjSetHandle, H); - EXPECT_EQ(MockBufferSet, *MBs); - LastCalled = "takeOwnershipOfBuffers"; - } - void expectTakeOwnershipOfBuffers(ObjSetHandleT H, MockMemoryBufferSet *MBs) { - MockObjSetHandle = H; - MockBufferSet = *MBs; - } - void verifyTakeOwnershipOfBuffers() { - EXPECT_EQ("takeOwnershipOfBuffers", LastCalled); - resetExpectations(); - } - private: // Backing fields for remembering parameter/return values std::string LastCalled; @@ -275,18 +260,6 @@ TEST(ObjectTransformLayerTest, Main) { T1.mapSectionAddress(H, Buffer, MockAddress); M.verifyMapSectionAddress(); - // Test takeOwnershipOfBuffers, using unique pointer to buffer set - auto MockBufferSetPtr = llvm::make_unique(366); - M.expectTakeOwnershipOfBuffers(H, MockBufferSetPtr.get()); - T2.takeOwnershipOfBuffers(H, std::move(MockBufferSetPtr)); - M.verifyTakeOwnershipOfBuffers(); - - // Test takeOwnershipOfBuffers, using naked pointer to buffer set - MockMemoryBufferSet MockBufferSet = 266; - M.expectTakeOwnershipOfBuffers(H, &MockBufferSet); - T1.takeOwnershipOfBuffers(H, &MockBufferSet); - M.verifyTakeOwnershipOfBuffers(); - // Verify transform getter (non-const) MockObjectFile Mutatee = 277; MockObjectFile *Out = T2.getTransform()(&Mutatee);