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

Public Member Functions

CORE_ADDR read_addr_from_reg (int reg) OVERRIDE
 
struct valueget_reg_value (struct type *type, int reg) 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
 
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_object_address ()
 
CORE_ADDR get_frame_cfa ()
 
CORE_ADDR get_tls_address (CORE_ADDR offset) OVERRIDE
 
void dwarf_call (cu_offset die_offset) OVERRIDE
 
CORE_ADDR get_addr_index (unsigned int index)
 
- 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 CORE_ADDR get_frame_pc ()
 
virtual struct typeget_base_type (cu_offset die_cu_off, int size)
 

Public Attributes

struct frame_infothis_frame
 
- 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
 

Private Member Functions

void invalid (const char *op) ATTRIBUTE_NORETURN
 

Detailed Description

Definition at line 227 of file dwarf2-frame.c.

Member Function Documentation

◆ dwarf_call()

void dwarf_expr_executor::dwarf_call ( cu_offset  die_offset)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 278 of file dwarf2-frame.c.

References invalid().

◆ get_addr_index()

CORE_ADDR dwarf_expr_executor::get_addr_index ( unsigned int  index)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 283 of file dwarf2-frame.c.

References invalid().

◆ get_frame_base()

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

Implements dwarf_expr_context.

Definition at line 251 of file dwarf2-frame.c.

References invalid().

◆ get_frame_cfa()

CORE_ADDR dwarf_expr_executor::get_frame_cfa ( )
inlinevirtual

Implements dwarf_expr_context.

Definition at line 268 of file dwarf2-frame.c.

References invalid().

◆ get_object_address()

CORE_ADDR dwarf_expr_executor::get_object_address ( )
inlinevirtual

Implements dwarf_expr_context.

Definition at line 263 of file dwarf2-frame.c.

References invalid().

◆ get_reg_value()

struct value* dwarf_expr_executor::get_reg_value ( struct type type,
int  reg 
)
inlinevirtual

◆ get_tls_address()

CORE_ADDR dwarf_expr_executor::get_tls_address ( CORE_ADDR  offset)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 273 of file dwarf2-frame.c.

References invalid().

◆ invalid()

void dwarf_expr_executor::invalid ( const char *  op)
inlineprivate

◆ push_dwarf_reg_entry_value()

void dwarf_expr_executor::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 256 of file dwarf2-frame.c.

References invalid().

◆ read_addr_from_reg()

CORE_ADDR dwarf_expr_executor::read_addr_from_reg ( int  reg)
inlinevirtual

Implements dwarf_expr_context.

Definition at line 233 of file dwarf2-frame.c.

References read_addr_from_reg(), and this_frame.

Referenced by execute_stack_op().

◆ read_mem()

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

Implements dwarf_expr_context.

Definition at line 246 of file dwarf2-frame.c.

References dwarf_expr_context::len, and read_memory().

Member Data Documentation

◆ this_frame

struct frame_info* dwarf_expr_executor::this_frame

Definition at line 231 of file dwarf2-frame.c.

Referenced by execute_stack_op(), get_reg_value(), and read_addr_from_reg().


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