[RFA] regcache.c (register_fetched) + related changes

Michael Snyder msnyder@cygnus.com
Tue Feb 27 14:48:00 GMT 2001


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  <taylor@redhat.com>
> 
>         * 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]



More information about the Gdb-patches mailing list