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, unrelocated_addr unrelocated_lowpc, unrelocated_addr address)
 
void handle_set_discriminator (unsigned int discriminator)
 
void handle_set_address (unrelocated_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
 
unrelocated_addr m_address
 
linetable_entry_flags m_flags
 
unsigned int m_discriminator = 0
 
unsigned int m_last_file = 0
 
struct subfilem_last_subfile = NULL
 
unrelocated_addr m_last_address
 
bool m_stmt_at_address = false
 
bool m_currently_recording_lines = true
 
unsigned int m_last_line = 0
 
bool m_line_has_non_zero_discriminator = false
 

Detailed Description

Definition at line 18107 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 )

Definition at line 18505 of file read.c.

Member Function Documentation

◆ advance_line()

void lnp_state_machine::advance_line ( int line_delta)
inlineprivate

Definition at line 18202 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,
unrelocated_addr unrelocated_lowpc,
unrelocated_addr address )

◆ current_file()

file_entry * lnp_state_machine::current_file ( )
inline

Definition at line 18114 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 18155 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 18181 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 18189 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 18173 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 18164 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 ( unrelocated_addr address)
inline

Definition at line 18139 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 18132 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 18195 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

unrelocated_addr lnp_state_machine::m_address
private

◆ m_cu

struct dwarf2_cu* lnp_state_machine::m_cu
private

Definition at line 18210 of file read.c.

Referenced by handle_set_file(), and record_line().

◆ m_currently_recording_lines

bool lnp_state_machine::m_currently_recording_lines = true
private

Definition at line 18249 of file read.c.

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

◆ m_discriminator

unsigned int lnp_state_machine::m_discriminator = 0
private

◆ m_file

file_name_index lnp_state_machine::m_file = 1
private

Definition at line 18222 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

unrelocated_addr lnp_state_machine::m_last_address
private

Definition at line 18240 of file read.c.

Referenced by record_line().

◆ m_last_file

unsigned int lnp_state_machine::m_last_file = 0
private

Definition at line 18235 of file read.c.

◆ m_last_line

unsigned int lnp_state_machine::m_last_line = 0
private

Definition at line 18254 of file read.c.

Referenced by record_line().

◆ m_last_subfile

struct subfile* lnp_state_machine::m_last_subfile = NULL
private

Definition at line 18237 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 18223 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 18255 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 18246 of file read.c.

Referenced by record_line().


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