LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::DWARFDebugLine::Prologue Struct Reference

#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"

Collaboration diagram for llvm::DWARFDebugLine::Prologue:
Collaboration graph
[legend]

Public Member Functions

 Prologue ()
 
const dwarf::FormParams getFormParams () const
 
uint16_t getVersion () const
 
uint8_t getAddressSize () const
 
bool isDWARF64 () const
 
uint32_t sizeofTotalLength () const
 
uint32_t sizeofPrologueLength () const
 
bool totalLengthIsValid () const
 
uint32_t getLength () const
 Length of the prologue in bytes. More...
 
uint32_t getStatementTableLength () const
 Length of the line table data in bytes (not including the prologue). More...
 
int32_t getMaxLineIncrementForSpecialOpcode () const
 
void clear ()
 
void dump (raw_ostream &OS, DIDumpOptions DumpOptions) const
 
Error parse (const DWARFDataExtractor &DebugLineData, uint32_t *OffsetPtr, const DWARFContext &Ctx, const DWARFUnit *U=nullptr)
 

Public Attributes

uint64_t TotalLength
 The size in bytes of the statement information for this compilation unit (not including the total_length field itself). More...
 
dwarf::FormParams FormParams
 Version, address size (starting in v5), and DWARF32/64 format; these parameters affect interpretation of forms (used in the directory and file tables starting with v5). More...
 
uint64_t PrologueLength
 The number of bytes following the prologue_length field to the beginning of the first byte of the statement program itself. More...
 
uint8_t SegSelectorSize
 In v5, size in bytes of a segment selector. More...
 
uint8_t MinInstLength
 The size in bytes of the smallest target machine instruction. More...
 
uint8_t MaxOpsPerInst
 The maximum number of individual operations that may be encoded in an instruction. More...
 
uint8_t DefaultIsStmt
 The initial value of theis_stmtregister. More...
 
int8_t LineBase
 This parameter affects the meaning of the special opcodes. See below. More...
 
uint8_t LineRange
 This parameter affects the meaning of the special opcodes. See below. More...
 
uint8_t OpcodeBase
 The number assigned to the first special opcode. More...
 
ContentTypeTracker ContentTypes
 This tracks which optional file format content types are present. More...
 
std::vector< uint8_t > StandardOpcodeLengths
 
std::vector< DWARFFormValueIncludeDirectories
 
std::vector< FileNameEntryFileNames
 

Detailed Description

Definition at line 63 of file DWARFDebugLine.h.

Constructor & Destructor Documentation

◆ Prologue()

DWARFDebugLine::Prologue::Prologue ( )

Definition at line 68 of file DWARFDebugLine.cpp.

References clear().

Member Function Documentation

◆ clear()

void DWARFDebugLine::Prologue::clear ( )

Definition at line 70 of file DWARFDebugLine.cpp.

References llvm::dwarf::DWARF32.

Referenced by llvm::DWARFDebugLine::LineTable::clear().

◆ dump()

void DWARFDebugLine::Prologue::dump ( raw_ostream OS,
DIDumpOptions  DumpOptions 
) const

◆ getAddressSize()

uint8_t llvm::DWARFDebugLine::Prologue::getAddressSize ( ) const
inline

◆ getFormParams()

const dwarf::FormParams llvm::DWARFDebugLine::Prologue::getFormParams ( ) const
inline

Definition at line 99 of file DWARFDebugLine.h.

◆ getLength()

uint32_t llvm::DWARFDebugLine::Prologue::getLength ( ) const
inline

Length of the prologue in bytes.

Definition at line 111 of file DWARFDebugLine.h.

◆ getMaxLineIncrementForSpecialOpcode()

int32_t llvm::DWARFDebugLine::Prologue::getMaxLineIncrementForSpecialOpcode ( ) const
inline

Definition at line 121 of file DWARFDebugLine.h.

References clear(), llvm::dump(), and llvm::json::parse().

◆ getStatementTableLength()

uint32_t llvm::DWARFDebugLine::Prologue::getStatementTableLength ( ) const
inline

Length of the line table data in bytes (not including the prologue).

Definition at line 117 of file DWARFDebugLine.h.

◆ getVersion()

uint16_t llvm::DWARFDebugLine::Prologue::getVersion ( ) const
inline

Definition at line 100 of file DWARFDebugLine.h.

References llvm::dwarf::FormParams::Version.

◆ isDWARF64()

bool llvm::DWARFDebugLine::Prologue::isDWARF64 ( ) const
inline

Definition at line 102 of file DWARFDebugLine.h.

References llvm::dwarf::DWARF64, and llvm::dwarf::FormParams::Format.

◆ parse()

Error DWARFDebugLine::Prologue::parse ( const DWARFDataExtractor DebugLineData,
uint32_t OffsetPtr,
const DWARFContext Ctx,
const DWARFUnit U = nullptr 
)

◆ sizeofPrologueLength()

uint32_t llvm::DWARFDebugLine::Prologue::sizeofPrologueLength ( ) const
inline

Definition at line 106 of file DWARFDebugLine.h.

◆ sizeofTotalLength()

uint32_t llvm::DWARFDebugLine::Prologue::sizeofTotalLength ( ) const
inline

Definition at line 104 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().

◆ totalLengthIsValid()

bool DWARFDebugLine::Prologue::totalLengthIsValid ( ) const

Definition at line 1060 of file DWARFDebugLine.cpp.

Member Data Documentation

◆ ContentTypes

ContentTypeTracker llvm::DWARFDebugLine::Prologue::ContentTypes

This tracks which optional file format content types are present.

Definition at line 94 of file DWARFDebugLine.h.

◆ DefaultIsStmt

uint8_t llvm::DWARFDebugLine::Prologue::DefaultIsStmt

The initial value of theis_stmtregister.

Definition at line 86 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::clear().

◆ FileNames

std::vector<FileNameEntry> llvm::DWARFDebugLine::Prologue::FileNames

◆ FormParams

dwarf::FormParams llvm::DWARFDebugLine::Prologue::FormParams

Version, address size (starting in v5), and DWARF32/64 format; these parameters affect interpretation of forms (used in the directory and file tables starting with v5).

Definition at line 72 of file DWARFDebugLine.h.

◆ IncludeDirectories

std::vector<DWARFFormValue> llvm::DWARFDebugLine::Prologue::IncludeDirectories

◆ LineBase

int8_t llvm::DWARFDebugLine::Prologue::LineBase

This parameter affects the meaning of the special opcodes. See below.

Definition at line 88 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().

◆ LineRange

uint8_t llvm::DWARFDebugLine::Prologue::LineRange

This parameter affects the meaning of the special opcodes. See below.

Definition at line 90 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().

◆ MaxOpsPerInst

uint8_t llvm::DWARFDebugLine::Prologue::MaxOpsPerInst

The maximum number of individual operations that may be encoded in an instruction.

Definition at line 84 of file DWARFDebugLine.h.

◆ MinInstLength

uint8_t llvm::DWARFDebugLine::Prologue::MinInstLength

The size in bytes of the smallest target machine instruction.

Statement program opcodes that alter the address register first multiply their operands by this value.

Definition at line 81 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().

◆ OpcodeBase

uint8_t llvm::DWARFDebugLine::Prologue::OpcodeBase

The number assigned to the first special opcode.

Definition at line 92 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().

◆ PrologueLength

uint64_t llvm::DWARFDebugLine::Prologue::PrologueLength

The number of bytes following the prologue_length field to the beginning of the first byte of the statement program itself.

Definition at line 75 of file DWARFDebugLine.h.

◆ SegSelectorSize

uint8_t llvm::DWARFDebugLine::Prologue::SegSelectorSize

In v5, size in bytes of a segment selector.

Definition at line 77 of file DWARFDebugLine.h.

◆ StandardOpcodeLengths

std::vector<uint8_t> llvm::DWARFDebugLine::Prologue::StandardOpcodeLengths

Definition at line 95 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().

◆ TotalLength

uint64_t llvm::DWARFDebugLine::Prologue::TotalLength

The size in bytes of the statement information for this compilation unit (not including the total_length field itself).

Definition at line 68 of file DWARFDebugLine.h.

Referenced by llvm::DWARFDebugLine::LineTable::parse().


The documentation for this struct was generated from the following files: