From: Yao Qi Date: Fri, 22 Sep 2017 13:53:06 +0000 (+0100) Subject: Move more supply and collect methods to reg_buffer X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2db73a25d7cdd14f68a9efb2eec895c0e033225;p=thirdparty%2Fbinutils-gdb.git 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 : * regcache.c (reg_buffer::raw_collect_integer): (regcache_supply_regset): (regcache_collect_regset): * regcache.h (public:): (public:): (private:): --- diff --git a/gdb/regcache.c b/gdb/regcache.c index 8978b14f257..ebc9e69c5ba 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -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); } diff --git a/gdb/regcache.h b/gdb/regcache.h index 2aae6d396c7..a76552f33ce 100644 --- a/gdb/regcache.h +++ b/gdb/regcache.h @@ -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;