22 #if !defined (DWARF2EXPR_H) 130 std::vector<dwarf_stack_value>
stack;
211 error (
_(
"%s is invalid in this context"),
"DW_OP_implicit_pointer");
222 virtual void dwarf_call (cu_offset die_cu_off) = 0;
282 size_t bytes_read = read_uleb128_to_uint64 (buf, buf_end, r);
286 return buf + bytes_read;
293 size_t bytes_read = read_sleb128_to_int64 (buf, buf_end, r);
297 return buf + bytes_read;
303 size_t bytes_read = skip_leb128 (buf, buf_end);
307 return buf + bytes_read;
const gdb_byte * safe_read_uleb128(const gdb_byte *buf, const gdb_byte *buf_end, uint64_t *r)
virtual void read_mem(gdb_byte *buf, CORE_ADDR addr, size_t length)=0
virtual ~dwarf_expr_context()=default
virtual struct value * get_reg_value(struct type *type, int regnum)=0
union dwarf_expr_piece::@38 v
void push(struct value *value, bool in_stack_memory)
virtual CORE_ADDR get_tls_address(CORE_ADDR offset)=0
struct value * fetch(int n)
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
virtual CORE_ADDR get_object_address()=0
virtual void push_dwarf_reg_entry_value(enum call_site_parameter_kind kind, union call_site_parameter_u kind_u, int deref_size)=0
void dwarf_expr_require_composition(const gdb_byte *, const gdb_byte *, const char *)
static const gdb_byte * gdb_skip_leb128(const gdb_byte *buf, const gdb_byte *buf_end)
virtual struct type * get_base_type(cu_offset die_cu_off, int size)
struct dwarf_expr_piece::@38::@39 mem
void execute_stack_op(const gdb_byte *op_ptr, const gdb_byte *op_end)
const gdb_byte * safe_skip_leb128(const gdb_byte *buf, const gdb_byte *buf_end)
void push_address(CORE_ADDR value, bool in_stack_memory)
int dwarf_block_to_sp_offset(struct gdbarch *gdbarch, const gdb_byte *buf, const gdb_byte *buf_end, CORE_ADDR *sp_offset_return)
const gdb_byte * safe_read_sleb128(const gdb_byte *buf, const gdb_byte *buf_end, int64_t *r)
std::vector< dwarf_expr_piece > pieces
void eval(const gdb_byte *addr, size_t len)
static const gdb_byte * gdb_read_uleb128(const gdb_byte *buf, const gdb_byte *buf_end, uint64_t *r)
bool stack_empty_p() const
struct dwarf_expr_piece::@38::@41 ptr
int dwarf_block_to_dwarf_reg_deref(const gdb_byte *buf, const gdb_byte *buf_end, CORE_ADDR *deref_size_return)
enum dwarf_value_location location
virtual void dwarf_call(cu_offset die_cu_off)=0
struct dwarf_expr_piece::@38::@40 literal
int dwarf_block_to_fb_offset(const gdb_byte *buf, const gdb_byte *buf_end, CORE_ADDR *fb_offset_return)
dwarf_stack_value(struct value *value_, int in_stack_memory_)
virtual void get_frame_base(const gdb_byte **start, size_t *length)=0
virtual CORE_ADDR read_addr_from_reg(int regnum)=0
CORE_ADDR fetch_address(int n)
void add_piece(ULONGEST size, ULONGEST offset)
virtual CORE_ADDR get_frame_cfa()=0
enum dwarf_value_location location
unsigned long long ULONGEST
static const gdb_byte * gdb_read_sleb128(const gdb_byte *buf, const gdb_byte *buf_end, int64_t *r)
bool fetch_in_stack_memory(int n)
struct type * address_type() const
virtual CORE_ADDR get_frame_pc()
void error(const char *fmt,...)
int dwarf_block_to_dwarf_reg(const gdb_byte *buf, const gdb_byte *buf_end)
virtual CORE_ADDR get_addr_index(unsigned int index)=0
struct type * builtin_int
std::vector< dwarf_stack_value > stack