This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] regcache.c (register_fetched) + related changes
- To: David Taylor <taylor at cygnus dot com>
- Subject: Re: [RFA] regcache.c (register_fetched) + related changes
- From: Michael Snyder <msnyder at cygnus dot com>
- Date: Tue, 27 Feb 2001 14:37:09 -0800
- CC: gdb-patches at sources dot redhat dot com
- Organization: Red Hat
- References: <200102272224.RAA15833@texas.cygnus.com>
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]