Merge handle_inferior_event and handle_inferior_event_1

I noticed that handle_inferior_event is just a small wrapper that
frees the value chain.  This patch replaces it with a
scoped_value_mark, reducing the number of lines of code here.

Regression tested on x86-64 Fedora 29.

gdb/ChangeLog
2019-03-20  Tom Tromey  <tromey@adacore.com>

	PR gdb/24391
	* infrun.c (handle_inferior_event): Rename from
	handle_inferior_event_1.  Create a scoped_value_mark.
	(handle_inferior_event): Remove.
This commit is contained in:
Tom Tromey
2019-03-20 07:57:09 -06:00
committed by Sergio Durigan Junior
parent 154eab6dec
commit e8ad6586f1
2 changed files with 13 additions and 17 deletions

View File

@@ -1,3 +1,10 @@
2019-03-20 Tom Tromey <tromey@adacore.com>
PR gdb/24391
* infrun.c (handle_inferior_event): Rename from
handle_inferior_event_1. Create a scoped_value_mark.
(handle_inferior_event): Remove.
2019-03-25 Simon Marchi <simon.marchi@polymtl.ca>
* source-cache.c (source_cache::get_source_lines): Re-read

View File

@@ -4598,8 +4598,13 @@ handle_no_resumed (struct execution_control_state *ecs)
once). */
static void
handle_inferior_event_1 (struct execution_control_state *ecs)
handle_inferior_event (struct execution_control_state *ecs)
{
/* Make sure that all temporary struct value objects that were
created during the handling of the event get deleted at the
end. */
scoped_value_mark free_values;
enum stop_kind stop_soon;
if (ecs->ws.kind == TARGET_WAITKIND_IGNORE)
@@ -5196,22 +5201,6 @@ Cannot fill $_exitsignal with the correct signal number.\n"));
}
}
/* A wrapper around handle_inferior_event_1, which also makes sure
that all temporary struct value objects that were created during
the handling of the event get deleted at the end. */
static void
handle_inferior_event (struct execution_control_state *ecs)
{
struct value *mark = value_mark ();
handle_inferior_event_1 (ecs);
/* Purge all temporary values created during the event handling,
as it could be a long time before we return to the command level
where such values would otherwise be purged. */
value_free_to_mark (mark);
}
/* Restart threads back to what they were trying to do back when we
paused them for an in-line step-over. The EVENT_THREAD thread is
ignored. */