From 89ba430c6b4cba43a2e77fe9a103e26e6c96bc12 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 29 Apr 2021 10:16:28 -0400 Subject: 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 --- gdb/ChangeLog | 4 ++++ gdb/infrun.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f240754..ea65327 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2021-04-29 Simon Marchi + + * infrun.c (save_waitstatus): Move variables to inner scope. + 2021-04-29 Andrew Burgess * NEWS: Fix typo and stray full stop. diff --git a/gdb/infrun.c b/gdb/infrun.c index cfec079..90bab8d 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -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); -- cgit v1.1