Extract bcc::BufferMemoryObject class from bcc.cpp.
diff --git a/bcc.cpp b/bcc.cpp
index c2c1037..8aee2e9 100644
--- a/bcc.cpp
+++ b/bcc.cpp
@@ -165,6 +165,7 @@
// #define PROVIDE_TRACE_CODEGEN
#if defined(USE_DISASSEMBLER)
+# include "bcc_buff_mem_object.h"
# include "llvm/MC/MCInst.h"
# include "llvm/MC/MCAsmInfo.h"
# include "llvm/MC/MCInstPrinter.h"
@@ -2011,26 +2012,6 @@
const llvm::MCDisassembler *mpDisassmbler;
llvm::MCInstPrinter *mpIP;
- class BufferMemoryObject : public llvm::MemoryObject {
- private:
- const uint8_t *mBytes;
- uint64_t mLength;
-
- public:
- BufferMemoryObject(const uint8_t *Bytes, uint64_t Length) :
- mBytes(Bytes), mLength(Length) { }
-
- uint64_t getBase() const { return 0; }
- uint64_t getExtent() const { return mLength; }
-
- int readByte(uint64_t Addr, uint8_t *Byte) const {
- if (Addr > getExtent())
- return -1;
- *Byte = mBytes[Addr];
- return 0;
- }
- };
-
public:
void Disassemble(const llvm::StringRef &Name, uint8_t *Start,
size_t Length, bool IsStub) {