From d634cd0bcef830f2c8b9a544f1f0621fa382e2cc Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 11 Dec 2020 09:21:53 -0700 Subject: [PATCH] Use thread_info_ref in stop_context This changes stop_context to use a thread_info_ref, removing some manual reference counting. gdb/ChangeLog 2020-12-11 Tom Tromey * infrun.c (struct stop_context) : Now a thread_info_ref. (stop_context::stop_context): Update. (stop_context::~stop_context): Remove. --- gdb/ChangeLog | 6 ++++++ gdb/infrun.c | 17 ++--------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3d97380727b..98b7c137e26 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2020-12-11 Tom Tromey + + * infrun.c (struct stop_context) : Now a thread_info_ref. + (stop_context::stop_context): Update. + (stop_context::~stop_context): Remove. + 2020-12-11 Tom Tromey * inferior.c (current_inferior_): Change type. diff --git a/gdb/infrun.c b/gdb/infrun.c index e7b69ae5a5c..793a7d2badd 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -8097,7 +8097,6 @@ maybe_remove_breakpoints (void) struct stop_context { stop_context (); - ~stop_context (); DISABLE_COPY_AND_ASSIGN (stop_context); @@ -8112,7 +8111,7 @@ struct stop_context /* If stopp for a thread event, this is the thread that caused the stop. */ - struct thread_info *thread; + thread_info_ref thread; /* The inferior that caused the stop. */ int inf_num; @@ -8131,20 +8130,8 @@ stop_context::stop_context () { /* Take a strong reference so that the thread can't be deleted yet. */ - thread = inferior_thread (); - thread->incref (); + thread = thread_info_ref::new_reference (inferior_thread ()); } - else - thread = NULL; -} - -/* Release a stop context previously created with save_stop_context. - Releases the strong reference to the thread as well. */ - -stop_context::~stop_context () -{ - if (thread != NULL) - thread->decref (); } /* Return true if the current context no longer matches the saved stop -- 2.30.2