summaryrefslogtreecommitdiff
path: root/gdb/regcache.c
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-05-06 19:37:31 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-05-06 19:37:31 +0000
commit908cca8cb4f09f57ba4dbebe09ee24f2576716a3 (patch)
tree27c36f0fb463d35c84bb7e4cd4302a9855b92735 /gdb/regcache.c
parentf399b0f7d6172ad47649be7b40e2f00d33cc2e43 (diff)
downloadgdb-908cca8cb4f09f57ba4dbebe09ee24f2576716a3.tar.gz
* regcache.c (regcache_invalidate): New function.
(register_cached): Remove. (set_register_cached): Remove. (deprecated_registers_fetched): Remove. (registers_changed): Use regcache_invalidate instead of set_register_cached. (regcache_raw_read): Update comment. * regcache.h (regcache_invalidate): Add prototype. (register_cached): Remove. (set_register_cached): Remove. (deprecated_registers_fetched): Remove. * findvar.c (value_of_register): Do not call register_cached. * frame.c (frame_register): Likewise. * tui/tui-regs.c (tui_get_register): Likewise. * remote.c (fetch_register_using_p): Do not call set_register_cached. (process_g_packet): Likewise. (remote_fetch_registers): Likewise. * remote-sim.c (gdbsim_fetch_register): Likewise. * mt-tdep.c (mt_select_coprocessor): Replace set_register_cached call by regcache_invalidate. (mt_pseudo_register_write): Likewise. * sh-tdep.c (sh_pseudo_register_write): Likewise. * corelow.c (get_core_registers): Replace deprecated_registers_fetched call by loop over regcache_raw_supply (..., NULL).
Diffstat (limited to 'gdb/regcache.c')
-rw-r--r--gdb/regcache.c61
1 files changed, 13 insertions, 48 deletions
diff --git a/gdb/regcache.c b/gdb/regcache.c
index c54585c98cd..daa412f5541 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -393,6 +393,17 @@ regcache_valid_p (const struct regcache *regcache, int regnum)
return regcache->register_valid_p[regnum];
}
+void
+regcache_invalidate (struct regcache *regcache, int regnum)
+{
+ gdb_assert (regcache != NULL);
+ gdb_assert (regnum >= 0);
+ gdb_assert (!regcache->readonly_p);
+ gdb_assert (regnum < regcache->descr->nr_raw_registers);
+ regcache->register_valid_p[regnum] = 0;
+}
+
+
/* Global structure containing the current regcache. */
/* FIXME: cagney/2002-05-11: The two global arrays registers[] and
deprecated_register_valid[] currently point into this structure. */
@@ -407,33 +418,6 @@ struct regcache *current_regcache;
static ptid_t registers_ptid;
-/*
- * FUNCTIONS:
- */
-
-/* REGISTER_CACHED()
-
- Returns 0 if the value is not in the cache (needs fetch).
- >0 if the value is in the cache.
- <0 if the value is permanently unavailable (don't ask again). */
-
-int
-register_cached (int regnum)
-{
- return current_regcache->register_valid_p[regnum];
-}
-
-/* Record that REGNUM's value is cached if STATE is >0, uncached but
- fetchable if STATE is 0, and uncached and unfetchable if STATE is <0. */
-
-void
-set_register_cached (int regnum, int state)
-{
- gdb_assert (regnum >= 0);
- gdb_assert (regnum < current_regcache->descr->nr_raw_registers);
- current_regcache->register_valid_p[regnum] = state;
-}
-
/* Observer for the target_changed event. */
void
@@ -468,28 +452,9 @@ registers_changed (void)
alloca (0);
for (i = 0; i < current_regcache->descr->nr_raw_registers; i++)
- set_register_cached (i, 0);
+ regcache_invalidate (current_regcache, i);
}
-/* DEPRECATED_REGISTERS_FETCHED ()
-
- Indicate that all registers have been fetched, so mark them all valid. */
-
-/* FIXME: cagney/2001-12-04: This function is DEPRECATED. The target
- code was blatting the registers[] array and then calling this.
- Since targets should only be using regcache_raw_supply() the need for
- this function/hack is eliminated. */
-
-void
-deprecated_registers_fetched (void)
-{
- int i;
-
- for (i = 0; i < NUM_REGS; i++)
- set_register_cached (i, 1);
- /* Do not assume that the pseudo-regs have also been fetched.
- Fetching all real regs NEVER accounts for pseudo-regs. */
-}
void
regcache_raw_read (struct regcache *regcache, int regnum, gdb_byte *buf)
@@ -517,7 +482,7 @@ regcache_raw_read (struct regcache *regcache, int regnum, gdb_byte *buf)
that a register is in one of the possible states: valid,
undefined, unknown. The last of which isn't yet
possible. */
- gdb_assert (register_cached (regnum));
+ gdb_assert (regcache_valid_p (regcache, regnum));
#endif
}
/* Copy the value directly into the register cache. */