From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Snyder To: David Taylor Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] regcache.c (register_fetched) + related changes Date: Tue, 27 Feb 2001 14:48:00 -0000 Message-id: <3A9C2C15.1E19BE7C@cygnus.com> References: <200102272224.RAA15833@texas.cygnus.com> X-SW-Source: 2001-02/msg00489.html David Taylor wrote: > > Right now, we have: > > . void register_changed (int regnum) > ==> invalidates a single register REGNUM in the cache. > > . void registers_changed (void) > ==> indicate that registers may have changed, so invalidate the > cache. > > . void registers_fetched (void) > ==> indicate that all registers have been fetched, so mark them > all valid. > > But, we don't have: > > . void register_fetched (int regnum) > ==> indicate that register REGNUM has been fetched. > > I propose that we: > > . add register_fetched > > . change all the files that say > "register_valid[foo] = 1;" to instead say "register_fetched (foo);" > > . change all the files that say > "register_valid[foo] = 0;" to instead say "register_changed (foo);" > > . change all the files that say > "if (register_valid[regno])" or "if (!register_valid[regno])" > to instead say > "if (register_cached (regno))" or "if (!register_cached (regno))" > > The following diff gets rid of all but 3 references to register_valid > from outside of regcache.c by *.c files from within the gdb directory. > > Okay to commit? Hmmm... I can't approve all of the changes to various target and native files, but as the original author of regcache.c I whole-heartedly approve the change in general. > > ChangeLog: > > Tue Feb 27 16:59:10 2001 David Taylor > > * regcache.c (register_fetched): New function. > * gdbcore.h (register_fetched): Declare it. > * alpha-nat.c (fetch_elf_core_registers): Replace references to > register_valid with appropriate function calls. > * arm-linux-nat.c (store_nwfpe_register, store_fpregister, > store_fpregs, store_register, store_regs, fill_gregset, > fill_fpregset): Ditto. > * i386gnu-nat.c (gnu_store_registers): Ditto. > * ia64-aix-nat.c (supply_gregset): Ditto. > * lynx-nat.c (fetch_inferior_registers, store_inferior_registers): > Ditto. > * remote-mips.c (mips_load): Ditto. > * remote-uid.c (udi_fetch_registers, store_register): Ditto. > * rs6000-nat.c (fetch_register): Ditto. > * sh-tdep.c (sh_fetch_pseudo_register, sh_store_pseudo_register): > Ditto. > * sparc-nat.c (fetch_inferior_registers, > store_inferior_registers): Ditto. [diffs pruned for bandwidth]