GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
lnp_state_machine Class Reference

Public Member Functions

 lnp_state_machine (struct dwarf2_cu *cu, gdbarch *arch, line_header *lh)
 
file_entrycurrent_file ()
 
void record_line (bool end_sequence)
 
void check_line_address (struct dwarf2_cu *cu, const gdb_byte *line_ptr, CORE_ADDR unrelocated_lowpc, CORE_ADDR address)
 
void handle_set_discriminator (unsigned int discriminator)
 
void handle_set_address (CORE_ADDR baseaddr, CORE_ADDR address)
 
void handle_advance_pc (CORE_ADDR adjust)
 
void handle_special_opcode (unsigned char op_code)
 
void handle_advance_line (int line_delta)
 
void handle_set_file (file_name_index file)
 
void handle_negate_stmt ()
 
void handle_const_add_pc ()
 
void handle_fixed_advance_pc (CORE_ADDR addr_adj)
 
void handle_copy ()
 
void handle_end_sequence ()
 
void handle_set_prologue_end ()
 

Private Member Functions

void advance_line (int line_delta)
 

Private Attributes

struct dwarf2_cum_cu
 
gdbarchm_gdbarch
 
line_headerm_line_header
 
unsigned char m_op_index = 0
 
file_name_index m_file = 1
 
unsigned int m_line = 1
 
CORE_ADDR m_address
 
linetable_entry_flags m_flags
 
unsigned int m_discriminator
 
unsigned int m_last_file = 0
 
struct subfilem_last_subfile = NULL
 
CORE_ADDR m_last_address
 
bool m_stmt_at_address = false
 
bool m_currently_recording_lines = false
 
unsigned int m_last_line = 0
 
bool m_line_has_non_zero_discriminator = false
 

Detailed Description

Definition at line 19941 of file read.c.

Constructor & Destructor Documentation

◆ lnp_state_machine()

lnp_state_machine::lnp_state_machine ( struct dwarf2_cu cu,
gdbarch arch,
line_header lh 
)

Member Function Documentation

◆ advance_line()

void lnp_state_machine::advance_line ( int  line_delta)
inlineprivate

Definition at line 20032 of file read.c.

References m_discriminator, m_line, and m_line_has_non_zero_discriminator.

Referenced by handle_advance_line(), and handle_special_opcode().

◆ check_line_address()

void lnp_state_machine::check_line_address ( struct dwarf2_cu cu,
const gdb_byte *  line_ptr,
CORE_ADDR  unrelocated_lowpc,
CORE_ADDR  address 
)

◆ current_file()

file_entry * lnp_state_machine::current_file ( )
inline

Definition at line 19948 of file read.c.

References line_header::file_name_at(), m_file, and m_line_header.

Referenced by dwarf_decode_lines_1(), handle_set_file(), and record_line().

◆ handle_advance_line()

void lnp_state_machine::handle_advance_line ( int  line_delta)
inline

Definition at line 19986 of file read.c.

References advance_line().

Referenced by dwarf_decode_lines_1().

◆ handle_advance_pc()

void lnp_state_machine::handle_advance_pc ( CORE_ADDR  adjust)

◆ handle_const_add_pc()

void lnp_state_machine::handle_const_add_pc ( )

◆ handle_copy()

void lnp_state_machine::handle_copy ( )
inline

Definition at line 20011 of file read.c.

References m_discriminator, m_flags, and record_line().

Referenced by dwarf_decode_lines_1().

◆ handle_end_sequence()

void lnp_state_machine::handle_end_sequence ( )
inline

Definition at line 20019 of file read.c.

References m_currently_recording_lines.

Referenced by dwarf_decode_lines_1().

◆ handle_fixed_advance_pc()

void lnp_state_machine::handle_fixed_advance_pc ( CORE_ADDR  addr_adj)
inline

Definition at line 20004 of file read.c.

References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.

Referenced by dwarf_decode_lines_1().

◆ handle_negate_stmt()

void lnp_state_machine::handle_negate_stmt ( )
inline

Definition at line 19995 of file read.c.

References LEF_IS_STMT, and m_flags.

Referenced by dwarf_decode_lines_1().

◆ handle_set_address()

void lnp_state_machine::handle_set_address ( CORE_ADDR  baseaddr,
CORE_ADDR  address 
)
inline

Definition at line 19972 of file read.c.

References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.

Referenced by dwarf_decode_lines_1().

◆ handle_set_discriminator()

void lnp_state_machine::handle_set_discriminator ( unsigned int  discriminator)
inline

Definition at line 19965 of file read.c.

References m_discriminator, and m_line_has_non_zero_discriminator.

Referenced by dwarf_decode_lines_1().

◆ handle_set_file()

void lnp_state_machine::handle_set_file ( file_name_index  file)

◆ handle_set_prologue_end()

void lnp_state_machine::handle_set_prologue_end ( )
inline

Definition at line 20025 of file read.c.

References LEF_PROLOGUE_END, and m_flags.

Referenced by dwarf_decode_lines_1().

◆ handle_special_opcode()

void lnp_state_machine::handle_special_opcode ( unsigned char  op_code)

◆ record_line()

void lnp_state_machine::record_line ( bool  end_sequence)

Member Data Documentation

◆ m_address

CORE_ADDR lnp_state_machine::m_address
private

◆ m_cu

struct dwarf2_cu* lnp_state_machine::m_cu
private

Definition at line 20040 of file read.c.

Referenced by handle_set_file(), lnp_state_machine(), and record_line().

◆ m_currently_recording_lines

bool lnp_state_machine::m_currently_recording_lines = false
private

Definition at line 20079 of file read.c.

Referenced by check_line_address(), handle_end_sequence(), lnp_state_machine(), and record_line().

◆ m_discriminator

unsigned int lnp_state_machine::m_discriminator
private

◆ m_file

file_name_index lnp_state_machine::m_file = 1
private

Definition at line 20052 of file read.c.

Referenced by current_file(), handle_set_file(), and record_line().

◆ m_flags

linetable_entry_flags lnp_state_machine::m_flags
private

◆ m_gdbarch

gdbarch* lnp_state_machine::m_gdbarch
private

◆ m_last_address

CORE_ADDR lnp_state_machine::m_last_address
private

Definition at line 20070 of file read.c.

Referenced by lnp_state_machine(), and record_line().

◆ m_last_file

unsigned int lnp_state_machine::m_last_file = 0
private

Definition at line 20065 of file read.c.

◆ m_last_line

unsigned int lnp_state_machine::m_last_line = 0
private

Definition at line 20084 of file read.c.

Referenced by record_line().

◆ m_last_subfile

struct subfile* lnp_state_machine::m_last_subfile = NULL
private

Definition at line 20067 of file read.c.

Referenced by handle_set_file(), and record_line().

◆ m_line

unsigned int lnp_state_machine::m_line = 1
private

Definition at line 20053 of file read.c.

Referenced by advance_line(), and record_line().

◆ m_line_has_non_zero_discriminator

bool lnp_state_machine::m_line_has_non_zero_discriminator = false
private

Definition at line 20085 of file read.c.

Referenced by advance_line(), handle_set_discriminator(), handle_set_file(), and record_line().

◆ m_line_header

line_header* lnp_state_machine::m_line_header
private

◆ m_op_index

unsigned char lnp_state_machine::m_op_index = 0
private

◆ m_stmt_at_address

bool lnp_state_machine::m_stmt_at_address = false
private

Definition at line 20076 of file read.c.

Referenced by lnp_state_machine(), and record_line().


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