|
LLVM
4.0.0
|
Abstract frame entry defining the common interface concrete entries implement. More...
Classes | |
| struct | Instruction |
Public Types | |
| enum | FrameKind { FK_CIE, FK_FDE } |
Public Member Functions | |
| FrameEntry (FrameKind K, uint64_t Offset, uint64_t Length) | |
| virtual | ~FrameEntry ()=default |
| FrameKind | getKind () const |
| virtual uint64_t | getOffset () const |
| virtual void | parseInstructions (DataExtractor Data, uint32_t *Offset, uint32_t EndOffset) |
| Parse and store a sequence of CFI instructions from Data, starting at *Offset and ending at EndOffset. More... | |
| virtual void | dumpHeader (raw_ostream &OS) const =0 |
| Dump the entry header to the given output stream. More... | |
| virtual void | dumpInstructions (raw_ostream &OS) const |
| Dump the entry's instructions to the given output stream. More... | |
Protected Types | |
| typedef std::vector< uint64_t > | Operands |
| An entry may contain CFI instructions. More... | |
Protected Member Functions | |
| void | addInstruction (uint8_t Opcode) |
| Convenience methods to add a new instruction with the given opcode and operands to the Instructions vector. More... | |
| void | addInstruction (uint8_t Opcode, uint64_t Operand1) |
| void | addInstruction (uint8_t Opcode, uint64_t Operand1, uint64_t Operand2) |
Protected Attributes | |
| const FrameKind | Kind |
| uint64_t | Offset |
| Offset of this entry in the section. More... | |
| uint64_t | Length |
| Entry length as specified in DWARF. More... | |
| std::vector< Instruction > | Instructions |
Abstract frame entry defining the common interface concrete entries implement.
Definition at line 37 of file DWARFDebugFrame.cpp.
|
protected |
An entry may contain CFI instructions.
An instruction consists of an opcode and an optional sequence of operands.
Definition at line 73 of file DWARFDebugFrame.cpp.
| Enumerator | |
|---|---|
| FK_CIE | |
| FK_FDE | |
Definition at line 39 of file DWARFDebugFrame.cpp.
|
inline |
Definition at line 41 of file DWARFDebugFrame.cpp.
|
virtualdefault |
|
inlineprotected |
Convenience methods to add a new instruction with the given opcode and operands to the Instructions vector.
Definition at line 87 of file DWARFDebugFrame.cpp.
|
inlineprotected |
Definition at line 91 of file DWARFDebugFrame.cpp.
|
inlineprotected |
Definition at line 96 of file DWARFDebugFrame.cpp.
|
pure virtual |
Dump the entry header to the given output stream.
|
virtual |
Dump the entry's instructions to the given output stream.
Definition at line 444 of file DWARFDebugFrame.cpp.
References llvm::dwarf::CallFrameString(), DWARF_CFI_PRIMARY_OPCODE_MASK, llvm::dyn_cast(), i, and printOperand().
|
inline |
Definition at line 46 of file DWARFDebugFrame.cpp.
References Kind.
|
inlinevirtual |
Definition at line 47 of file DWARFDebugFrame.cpp.
References Offset.
|
virtual |
Parse and store a sequence of CFI instructions from Data, starting at *Offset and ending at EndOffset.
If everything goes well, *Offset should be equal to EndOffset when this method returns. Otherwise, an error occurred.
Definition at line 107 of file DWARFDebugFrame.cpp.
References DWARF_CFI_PRIMARY_OPCODE_MASK, DWARF_CFI_PRIMARY_OPERAND_MASK, llvm::DataExtractor::getAddress(), llvm::DataExtractor::getSLEB128(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), llvm_unreachable, and llvm::report_fatal_error().
|
protected |
Definition at line 83 of file DWARFDebugFrame.cpp.
Definition at line 63 of file DWARFDebugFrame.cpp.
|
protected |
Entry length as specified in DWARF.
Definition at line 69 of file DWARFDebugFrame.cpp.
|
protected |
Offset of this entry in the section.
Definition at line 66 of file DWARFDebugFrame.cpp.
1.8.6