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:

## Public Member Functions
CORE_ADDR | read_addr_from_reg (int reg) OVERRIDE
struct value * | get_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 value * | fetch (int n)
CORE_ADDR | fetch_address (int n)
bool | fetch_in_stack_memory (int n)
virtual CORE_ADDR | get_frame_pc ()
virtual struct type * | get_base_type (cu_offset die_cu_off, int size)

## Public Attributes
struct frame_info * | this_frame
Public Attributes inherited from dwarf_expr_context
std::vector< dwarf_stack_value > | stack
struct gdbarch * | gdbarch
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_byte * | data
int | initialized
std::vector< dwarf_expr_piece > | pieces

## 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 | ) |
| inline virtual

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 | ) |
| inline virtual

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
| ) |  |
| inline virtual

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 | ( |  | ) |
| inline virtual

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 | ( |  | ) |
| inline virtual

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
| ) |  |
| inline virtual

Implements dwarf_expr_context.

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

References dwarf_reg_to_regnum_or_error(), get_frame_arch(), regnum, this_frame, and value_from_register().

## ◆ get_tls_address()

CORE_ADDR dwarf_expr_executor::get_tls_address | ( | CORE_ADDR | offset | ) |
| inline virtual

Implements dwarf_expr_context.

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

References invalid().

## ◆ invalid()

void dwarf_expr_executor::invalid | ( | const char * | op | ) |
| inline private

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

References _, and error().

Referenced by dwarf_call(), get_addr_index(), get_frame_base(), get_frame_cfa(), get_object_address(), get_tls_address(), and push_dwarf_reg_entry_value().

## ◆ 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
| ) |  |
| inline virtual

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 | ) |
| inline virtual

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
| ) |  |
| inline virtual

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:

- /tmp/gdb-8.1/gdb/dwarf2-frame.c