diff options
author | Yao Qi <yao.qi@linaro.org> | 2017-09-22 14:53:06 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2017-10-13 11:52:11 +0100 |
commit | c2db73a25d7cdd14f68a9efb2eec895c0e033225 (patch) | |
tree | 9417573cf03a7c382243e2e92be25b767bf3732a | |
parent | 21be97583901e297387fde9526ccec1d2b4c103d (diff) | |
download | fsf-binutils-gdb-c2db73a25d7cdd14f68a9efb2eec895c0e033225.zip fsf-binutils-gdb-c2db73a25d7cdd14f68a9efb2eec895c0e033225.tar.gz fsf-binutils-gdb-c2db73a25d7cdd14f68a9efb2eec895c0e033225.tar.bz2 |
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:):
-rw-r--r-- | gdb/regcache.c | 16 | ||||
-rw-r--r-- | gdb/regcache.h | 23 |
2 files changed, 19 insertions, 20 deletions
diff --git a/gdb/regcache.c b/gdb/regcache.c index 8978b14..ebc9e69 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 2aae6d3..a76552f 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; |