gdb: move some variables to an inner scope in save_waitstatus

These two variables:

      struct regcache *regcache = get_thread_regcache (tp);
      const address_space *aspace = regcache->aspace ();

are only needed inside the "if".  Getting a thread's regcache is a
somewhat expensive operation, so it's good to avoid it if not necessary.
Move the variable declarations and their initialization to the "if"
scope.

gdb/ChangeLog:

	* infrun.c (save_waitstatus): Move variables to inner scope.

Change-Id: Ief1463728755b4dcc142c0a0a76896e9d594ae84
This commit is contained in:
Simon Marchi 2021-04-29 10:16:28 -04:00
parent a2443c8988
commit 89ba430c6b
2 changed files with 6 additions and 3 deletions

View file

@ -1,3 +1,7 @@
2021-04-29 Simon Marchi <simon.marchi@polymtl.ca>
* infrun.c (save_waitstatus): Move variables to inner scope.
2021-04-29 Andrew Burgess <andrew.burgess@embecosm.com>
* NEWS: Fix typo and stray full stop.

View file

@ -4703,12 +4703,11 @@ save_waitstatus (struct thread_info *tp, const target_waitstatus *ws)
tp->suspend.waitstatus = *ws;
tp->suspend.waitstatus_pending_p = 1;
struct regcache *regcache = get_thread_regcache (tp);
const address_space *aspace = regcache->aspace ();
if (ws->kind == TARGET_WAITKIND_STOPPED
&& ws->value.sig == GDB_SIGNAL_TRAP)
{
struct regcache *regcache = get_thread_regcache (tp);
const address_space *aspace = regcache->aspace ();
CORE_ADDR pc = regcache_read_pc (regcache);
adjust_pc_after_break (tp, &tp->suspend.waitstatus);