[MCJIT] Remove a few more references to JITMemoryManager that survived r218316.
[oota-llvm.git] / include / llvm / ExecutionEngine / ObjectBuffer.h
index 88a4213ed854a9840af00e7240db7b0f9ed2cd7a..ee4820aa6ee0de08ac4c89060b036193f20d751f 100644 (file)
@@ -24,24 +24,15 @@ namespace llvm {
 /// This class acts as a container for the memory buffer used during generation
 /// and loading of executable objects using MCJIT and RuntimeDyld. The
 /// underlying memory for the object will be owned by the ObjectBuffer instance
-/// throughout its lifetime. The getMemBuffer() method provides a way to create
-/// a MemoryBuffer wrapper object instance to be owned by other classes (such as
-/// ObjectFile) as needed, but the MemoryBuffer instance returned does not own
-/// the actual memory it points to.
+/// throughout its lifetime.
 class ObjectBuffer {
   virtual void anchor();
 public:
   ObjectBuffer() {}
-  ObjectBuffer(MemoryBuffer* Buf) : Buffer(Buf) {}
+  ObjectBuffer(std::unique_ptr<MemoryBuffer> Buf) : Buffer(std::move(Buf)) {}
   virtual ~ObjectBuffer() {}
 
-  /// Like MemoryBuffer::getMemBuffer() this function returns a pointer to an
-  /// object that is owned by the caller. However, the caller does not take
-  /// ownership of the underlying memory.
-  MemoryBuffer *getMemBuffer() const {
-    return MemoryBuffer::getMemBuffer(Buffer->getBuffer(),
-                                      Buffer->getBufferIdentifier(), false);
-  }
+  MemoryBufferRef getMemBuffer() const { return Buffer->getMemBufferRef(); }
 
   const char *getBufferStart() const { return Buffer->getBufferStart(); }
   size_t getBufferSize() const { return Buffer->getBufferSize(); }
@@ -71,9 +62,8 @@ public:
     OS.flush();
 
     // Make the data accessible via the ObjectBuffer::Buffer
-    Buffer.reset(MemoryBuffer::getMemBuffer(StringRef(SV.data(), SV.size()),
-                                            "",
-                                            false));
+    Buffer =
+        MemoryBuffer::getMemBuffer(StringRef(SV.data(), SV.size()), "", false);
   }
 
 protected: