LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
llvm::FrameEntry Class Referenceabstract

Abstract frame entry defining the common interface concrete entries implement. More...

Collaboration diagram for llvm::FrameEntry:
Collaboration graph
[legend]

Classes

struct  Instruction
 

Public Types

enum  FrameKind { FK_CIE, FK_FDE }
 

Public Member Functions

 FrameEntry (FrameKind K, DataExtractor D, uint64_t Offset, uint64_t Length)
 
virtual ~FrameEntry ()
 
FrameKind getKind () const
 
virtual uint64_t getOffset () const
 
virtual void parseInstructions (uint32_t *Offset, uint32_t EndOffset)
 Parse and store a sequence of CFI instructions from our data stream, 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. 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
 

Protected Member Functions

void addInstruction (uint8_t Opcode)
 
void addInstruction (uint8_t Opcode, uint64_t Operand1)
 
void addInstruction (uint8_t Opcode, uint64_t Operand1, uint64_t Operand2)
 

Protected Attributes

const FrameKind Kind
 
DataExtractor Data
 The data stream holding the section from which the entry was parsed. More...
 
uint64_t Offset
 Offset of this entry in the section. More...
 
uint64_t Length
 Entry length as specified in DWARF. More...
 
std::vector< InstructionInstructions
 

Detailed Description

Abstract frame entry defining the common interface concrete entries implement.

Definition at line 26 of file DWARFDebugFrame.cpp.

Member Typedef Documentation

typedef std::vector<uint64_t> llvm::FrameEntry::Operands
protected

An entry may contain CFI instructions. An instruction consists of an opcode and an optional sequence of operands.

Definition at line 65 of file DWARFDebugFrame.cpp.

Member Enumeration Documentation

Enumerator
FK_CIE 
FK_FDE 

Definition at line 28 of file DWARFDebugFrame.cpp.

Constructor & Destructor Documentation

llvm::FrameEntry::FrameEntry ( FrameKind  K,
DataExtractor  D,
uint64_t  Offset,
uint64_t  Length 
)
inline

Definition at line 29 of file DWARFDebugFrame.cpp.

virtual llvm::FrameEntry::~FrameEntry ( )
inlinevirtual

Definition at line 32 of file DWARFDebugFrame.cpp.

Member Function Documentation

void llvm::FrameEntry::addInstruction ( uint8_t  Opcode)
inlineprotected

Convenience methods to add a new instruction with the given opcode and operands to the Instructions vector.

Definition at line 79 of file DWARFDebugFrame.cpp.

void llvm::FrameEntry::addInstruction ( uint8_t  Opcode,
uint64_t  Operand1 
)
inlineprotected

Definition at line 83 of file DWARFDebugFrame.cpp.

void llvm::FrameEntry::addInstruction ( uint8_t  Opcode,
uint64_t  Operand1,
uint64_t  Operand2 
)
inlineprotected

Definition at line 88 of file DWARFDebugFrame.cpp.

virtual void llvm::FrameEntry::dumpHeader ( raw_ostream OS) const
pure virtual

Dump the entry header to the given output stream.

Referenced by llvm::DWARFDebugFrame::dump().

void FrameEntry::dumpInstructions ( raw_ostream OS) const
virtual

Dump the entry's instructions to the given output stream.

Definition at line 185 of file DWARFDebugFrame.cpp.

References llvm::dwarf::CallFrameString(), DWARF_CFI_PRIMARY_OPCODE_MASK, and I.

Referenced by llvm::DWARFDebugFrame::dump().

FrameKind llvm::FrameEntry::getKind ( ) const
inline

Definition at line 35 of file DWARFDebugFrame.cpp.

virtual uint64_t llvm::FrameEntry::getOffset ( ) const
inlinevirtual

Definition at line 36 of file DWARFDebugFrame.cpp.

Referenced by llvm::DWARFDebugFrame::parse().

void FrameEntry::parseInstructions ( uint32_t *  Offset,
uint32_t  EndOffset 
)
virtual

Member Data Documentation

DataExtractor llvm::FrameEntry::Data
protected

The data stream holding the section from which the entry was parsed.

Definition at line 55 of file DWARFDebugFrame.cpp.

std::vector<Instruction> llvm::FrameEntry::Instructions
protected

Definition at line 75 of file DWARFDebugFrame.cpp.

const FrameKind llvm::FrameEntry::Kind
protected

Definition at line 51 of file DWARFDebugFrame.cpp.

uint64_t llvm::FrameEntry::Length
protected

Entry length as specified in DWARF.

Definition at line 61 of file DWARFDebugFrame.cpp.

uint64_t llvm::FrameEntry::Offset
protected

Offset of this entry in the section.

Definition at line 58 of file DWARFDebugFrame.cpp.


The documentation for this class was generated from the following file: