Move more supply and collect methods to reg_buffer

This patch moves more supply and collect methods to class reg_buffer

gdb:

2017-09-22  Yao Qi  <yao.qi@linaro.org>
:
	* regcache.c (reg_buffer::raw_collect_integer):
	(regcache_supply_regset):
	(regcache_collect_regset):
	* regcache.h (public:):
	(public:):
	(private:):
This commit is contained in:
Yao Qi
2017-09-22 14:53:06 +01:00
parent 21be975839
commit c2db73a25d
2 changed files with 19 additions and 20 deletions

View File

@@ -1182,10 +1182,10 @@ reg_buffer::raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
}
void
regcache::transfer_regset (const struct regset *regset,
struct regcache *out_regcache,
int regnum, const void *in_buf,
void *out_buf, size_t size) const
reg_buffer::transfer_regset (const struct regset *regset,
struct reg_buffer *out_regcache,
int regnum, const void *in_buf,
void *out_buf, size_t size) const
{
const struct regcache_map_entry *map;
int offs = 0, count;
@@ -1249,8 +1249,8 @@ regcache_supply_regset (const struct regset *regset,
}
void
regcache::supply_regset (const struct regset *regset,
int regnum, const void *buf, size_t size)
reg_buffer::supply_regset (const struct regset *regset,
int regnum, const void *buf, size_t size)
{
transfer_regset (regset, this, regnum, buf, NULL, size);
}
@@ -1268,8 +1268,8 @@ regcache_collect_regset (const struct regset *regset,
}
void
regcache::collect_regset (const struct regset *regset,
int regnum, void *buf, size_t size) const
reg_buffer::collect_regset (const struct regset *regset,
int regnum, void *buf, size_t size) const
{
transfer_regset (regset, NULL, regnum, NULL, buf, size);
}

View File

@@ -273,12 +273,23 @@ public:
gdb_byte *register_buffer (int regnum) const;
void supply_regset (const struct regset *regset,
int regnum, const void *buf, size_t size);
void collect_regset (const struct regset *regset, int regnum,
void *buf, size_t size) const;
protected:
struct regcache_descr *m_descr;
private:
void validate (int regnum) const;
void transfer_regset (const struct regset *regset,
struct reg_buffer *out_regcache,
int regnum, const void *in_buf,
void *out_buf, size_t size) const;
bool m_has_pseudo;
/* The register buffers. */
gdb_byte *m_registers;
@@ -348,13 +359,6 @@ public:
void cooked_write_part (int regnum, int offset, int len,
const gdb_byte *buf);
void supply_regset (const struct regset *regset,
int regnum, const void *buf, size_t size);
void collect_regset (const struct regset *regset, int regnum,
void *buf, size_t size) const;
void dump (ui_file *file, enum regcache_dump_what what_to_dump);
ptid_t ptid () const
@@ -383,11 +387,6 @@ private:
enum register_status xfer_part (int regnum, int offset, int len, void *in,
const void *out, bool is_raw);
void transfer_regset (const struct regset *regset,
struct regcache *out_regcache,
int regnum, const void *in_buf,
void *out_buf, size_t size) const;
/* The address space of this register cache (for registers where it
makes sense, like PC or SP). */
struct address_space *m_aspace;