forked from Imagelibrary/binutils-gdb
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:
committed by
Sergio Durigan Junior
parent
154eab6dec
commit
e8ad6586f1
@@ -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>
|
2019-03-25 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
* source-cache.c (source_cache::get_source_lines): Re-read
|
* source-cache.c (source_cache::get_source_lines): Re-read
|
||||||
|
|||||||
23
gdb/infrun.c
23
gdb/infrun.c
@@ -4598,8 +4598,13 @@ handle_no_resumed (struct execution_control_state *ecs)
|
|||||||
once). */
|
once). */
|
||||||
|
|
||||||
static void
|
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;
|
enum stop_kind stop_soon;
|
||||||
|
|
||||||
if (ecs->ws.kind == TARGET_WAITKIND_IGNORE)
|
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
|
/* 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
|
paused them for an in-line step-over. The EVENT_THREAD thread is
|
||||||
ignored. */
|
ignored. */
|
||||||
|
|||||||
Reference in New Issue
Block a user