28#include "gdbsupport/traits.h"
46 return this_trad_cache;
64#ifdef HAVE_IS_TRIVIALLY_CONSTRUCTIBLE
77 return this_saved_regs;
111 int regnum, CORE_ADDR addr)
119 CORE_ADDR addr,
size_t size)
126 int regno =
regmap->regno;
127 int slot_size =
regmap->size;
132 if (offs + slot_size >
size)
136 offs += count * slot_size;
138 for (; count--; regno++, offs += slot_size)
159 gdb_byte buf[slot_size];
177 gdb::array_view<const gdb_byte> bytes)
191 if (this_saved_regs[
regnum].is_addr ())
194 this_saved_regs[
regnum].addr ());
195 else if (this_saved_regs[
regnum].is_realreg ())
197 this_saved_regs[
regnum].realreg ());
198 else if (this_saved_regs[
regnum].is_value ())
202 else if (this_saved_regs[
regnum].is_value_bytes ())
205 this_saved_regs[
regnum].value_bytes ());
223 this_trad_cache->
this_id = this_id;
230 (*this_id) = this_trad_cache->
this_id;
gdb_static_assert(sizeof(splay_tree_key) >=sizeof(CORE_ADDR *))
static ULONGEST extract_unsigned_integer(gdb::array_view< const gdb_byte > buf, enum bfd_endian byte_order)
struct value * frame_unwind_got_memory(frame_info_ptr frame, int regnum, CORE_ADDR addr)
struct value * frame_unwind_got_optimized(frame_info_ptr frame, int regnum)
struct value * frame_unwind_got_register(frame_info_ptr frame, int regnum, int new_regnum)
struct value * frame_unwind_got_bytes(frame_info_ptr frame, int regnum, const gdb_byte *buf)
struct value * frame_unwind_got_constant(frame_info_ptr frame, int regnum, ULONGEST val)
struct gdbarch * get_frame_arch(frame_info_ptr this_frame)
#define FRAME_OBSTACK_CALLOC(NUMBER, TYPE)
#define FRAME_OBSTACK_ZALLOC(TYPE)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
static int gdbarch_num_cooked_regs(gdbarch *arch)
int register_size(struct gdbarch *gdbarch, int regnum)
trad_frame_saved_reg * prev_regs
frame_info_ptr this_frame
void set_value_bytes(gdb::array_view< const gdb_byte > bytes)
void set_realreg(int realreg)
void set_addr(LONGEST addr)
void set_value(LONGEST val)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
trad_frame_saved_reg * trad_frame_alloc_saved_regs(struct gdbarch *gdbarch)
void trad_frame_set_reg_realreg(struct trad_frame_cache *this_trad_cache, int regnum, int realreg)
void trad_frame_set_reg_value_bytes(struct trad_frame_cache *this_trad_cache, int regnum, gdb::array_view< const gdb_byte > bytes)
struct value * trad_frame_get_prev_register(frame_info_ptr this_frame, trad_frame_saved_reg this_saved_regs[], int regnum)
struct trad_frame_cache * trad_frame_cache_zalloc(frame_info_ptr this_frame)
void trad_frame_set_reg_addr(struct trad_frame_cache *this_trad_cache, int regnum, CORE_ADDR addr)
void trad_frame_set_reg_regmap(struct trad_frame_cache *this_trad_cache, const struct regcache_map_entry *regmap, CORE_ADDR addr, size_t size)
void trad_frame_reset_saved_regs(struct gdbarch *gdbarch, trad_frame_saved_reg *regs)
void trad_frame_get_id(struct trad_frame_cache *this_trad_cache, struct frame_id *this_id)
void trad_frame_set_id(struct trad_frame_cache *this_trad_cache, struct frame_id this_id)
CORE_ADDR trad_frame_get_this_base(struct trad_frame_cache *this_trad_cache)
void trad_frame_set_this_base(struct trad_frame_cache *this_trad_cache, CORE_ADDR this_base)
void trad_frame_set_reg_value(struct trad_frame_cache *this_trad_cache, int regnum, LONGEST val)
struct value * trad_frame_get_register(struct trad_frame_cache *this_trad_cache, frame_info_ptr this_frame, int regnum)