GDB (xrefs)
Public Member Functions | Public Attributes | List of all members
symbol_needs_eval_context Class Reference
Inheritance diagram for symbol_needs_eval_context:
dwarf_expr_context

Public Member Functions

CORE_ADDR read_addr_from_reg (int regnum) OVERRIDE
 
struct valueget_reg_value (struct type *type, int regnum) OVERRIDE
 
void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) OVERRIDE
 
void get_frame_base (const gdb_byte **start, size_t *length) OVERRIDE
 
CORE_ADDR get_frame_cfa ()
 
CORE_ADDR get_frame_pc ()
 
CORE_ADDR get_tls_address (CORE_ADDR offset) OVERRIDE
 
void dwarf_call (cu_offset die_offset) OVERRIDE
 
void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind, union call_site_parameter_u kind_u, int deref_size) OVERRIDE
 
CORE_ADDR get_addr_index (unsigned int index) OVERRIDE
 
CORE_ADDR get_object_address ()
 
- Public Member Functions inherited from dwarf_expr_context
 dwarf_expr_context ()
 
virtual ~dwarf_expr_context ()=default
 
void push_address (CORE_ADDR value, bool in_stack_memory)
 
void eval (const gdb_byte *addr, size_t len)
 
struct valuefetch (int n)
 
CORE_ADDR fetch_address (int n)
 
bool fetch_in_stack_memory (int n)
 
virtual struct typeget_base_type (cu_offset die_cu_off, int size)
 

Public Attributes

enum symbol_needs_kind needs
 
struct dwarf2_per_cu_dataper_cu
 
- Public Attributes inherited from dwarf_expr_context
std::vector< dwarf_stack_valuestack
 
struct gdbarchgdbarch
 
int addr_size
 
int ref_addr_size
 
CORE_ADDR offset
 
int recursion_depth
 
int max_recursion_depth
 
enum dwarf_value_location location
 
ULONGEST len
 
const gdb_bytedata
 
int initialized
 
std::vector< dwarf_expr_piecepieces
 

Detailed Description

Definition at line 2731 of file dwarf2loc.c.

Member Function Documentation

◆ dwarf_call()

void symbol_needs_eval_context::dwarf_call ( cu_offset  die_offset)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2795 of file dwarf2loc.c.

References per_cu, and per_cu_dwarf_call().

◆ get_addr_index()

CORE_ADDR symbol_needs_eval_context::get_addr_index ( unsigned int  index)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2815 of file dwarf2loc.c.

◆ get_frame_base()

void symbol_needs_eval_context::get_frame_base ( const gdb_byte **  start,
size_t *  length 
)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2761 of file dwarf2loc.c.

References needs, and SYMBOL_NEEDS_FRAME.

◆ get_frame_cfa()

CORE_ADDR symbol_needs_eval_context::get_frame_cfa ( )
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2772 of file dwarf2loc.c.

References needs, and SYMBOL_NEEDS_FRAME.

◆ get_frame_pc()

CORE_ADDR symbol_needs_eval_context::get_frame_pc ( )
inlinevirtual

Reimplemented from dwarf_expr_context.

Definition at line 2778 of file dwarf2loc.c.

References needs, and SYMBOL_NEEDS_FRAME.

◆ get_object_address()

CORE_ADDR symbol_needs_eval_context::get_object_address ( )
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2823 of file dwarf2loc.c.

◆ get_reg_value()

struct value* symbol_needs_eval_context::get_reg_value ( struct type type,
int  regnum 
)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2748 of file dwarf2loc.c.

References needs, not_lval, SYMBOL_NEEDS_FRAME, and value_zero().

◆ get_tls_address()

CORE_ADDR symbol_needs_eval_context::get_tls_address ( CORE_ADDR  offset)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2785 of file dwarf2loc.c.

References needs, and SYMBOL_NEEDS_REGISTERS.

◆ push_dwarf_reg_entry_value()

void symbol_needs_eval_context::push_dwarf_reg_entry_value ( enum call_site_parameter_kind  kind,
union call_site_parameter_u  kind_u,
int  deref_size 
)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2803 of file dwarf2loc.c.

References needs, dwarf_expr_context::push_address(), and SYMBOL_NEEDS_FRAME.

◆ read_addr_from_reg()

CORE_ADDR symbol_needs_eval_context::read_addr_from_reg ( int  regnum)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2739 of file dwarf2loc.c.

References needs, and SYMBOL_NEEDS_FRAME.

◆ read_mem()

void symbol_needs_eval_context::read_mem ( gdb_byte buf,
CORE_ADDR  addr,
size_t  len 
)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 2755 of file dwarf2loc.c.

References dwarf_expr_context::len, and memset().

Member Data Documentation

◆ needs

enum symbol_needs_kind symbol_needs_eval_context::needs

◆ per_cu

struct dwarf2_per_cu_data* symbol_needs_eval_context::per_cu

Definition at line 2736 of file dwarf2loc.c.

Referenced by dwarf2_loc_desc_get_symbol_read_needs(), and dwarf_call().


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