|
LLVM
3.7.0
|
Generic disassembler for all X86 platforms. More...
#include <X86Disassembler.h>
Public Member Functions | |
| X86GenericDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx, std::unique_ptr< const MCInstrInfo > MII) | |
| DecodeStatus | getInstruction (MCInst &instr, uint64_t &size, ArrayRef< uint8_t > Bytes, uint64_t Address, raw_ostream &vStream, raw_ostream &cStream) const override |
| Returns the disassembly of a single instruction. More... | |
Public Member Functions inherited from llvm::MCDisassembler | |
| MCDisassembler (const MCSubtargetInfo &STI, MCContext &Ctx) | |
| virtual | ~MCDisassembler () |
| bool | tryAddingSymbolicOperand (MCInst &Inst, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t InstSize) const |
| void | tryAddingPcLoadReferenceComment (int64_t Value, uint64_t Address) const |
| void | setSymbolizer (std::unique_ptr< MCSymbolizer > Symzer) |
Set Symzer as the current symbolizer. More... | |
| MCContext & | getContext () const |
| const MCSubtargetInfo & | getSubtargetInfo () const |
Additional Inherited Members | |
Public Types inherited from llvm::MCDisassembler | |
| enum | DecodeStatus { Fail = 0, SoftFail = 1, Success = 3 } |
| Ternary decode status. More... | |
Public Attributes inherited from llvm::MCDisassembler | |
| raw_ostream * | CommentStream |
Protected Attributes inherited from llvm::MCDisassembler | |
| const MCSubtargetInfo & | STI |
| std::unique_ptr< MCSymbolizer > | Symbolizer |
Generic disassembler for all X86 platforms.
All each platform class should have to do is subclass the constructor, and provide a different disassemblerMode value.
Definition at line 93 of file X86Disassembler.h.
| X86GenericDisassembler::X86GenericDisassembler | ( | const MCSubtargetInfo & | STI, |
| MCContext & | Ctx, | ||
| std::unique_ptr< const MCInstrInfo > | MII | ||
| ) |
Definition at line 78 of file X86Disassembler.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), llvm_unreachable, llvm::X86Disassembler::MODE_16BIT, llvm::X86Disassembler::MODE_32BIT, and llvm::X86Disassembler::MODE_64BIT.
|
overridevirtual |
Returns the disassembly of a single instruction.
| Instr | - An MCInst to populate with the contents of the instruction. |
| Size | - A value to populate with the size of the instruction, or the number of bytes consumed while attempting to decode an invalid instruction. |
| Address | - The address, in the memory space of region, of the first byte of the instruction. |
| VStream | - The stream to print warnings and diagnostic messages on. |
| CStream | - The stream to print comments and annotations on. |
Implements llvm::MCDisassembler.
Definition at line 138 of file X86Disassembler.cpp.
References llvm::dwarf::syntax::Address, llvm::MCDisassembler::CommentStream, llvm::X86Disassembler::decodeInstruction(), llvm::MCDisassembler::Fail, llvm::X86Disassembler::InternalInstruction::length, logger(), llvm::nulls(), llvm::X86Disassembler::InternalInstruction::readerCursor, regionReader(), llvm::MipsISD::Ret, llvm::MCDisassembler::Success, and translateInstruction().
1.8.6