* [PATCH] Clean up lnp_state_machine constructor
@ 2023-01-30 4:25 Tom Tromey
2023-01-30 12:34 ` Lancelot SIX
0 siblings, 1 reply; 2+ messages in thread
From: Tom Tromey @ 2023-01-30 4:25 UTC (permalink / raw)
To: gdb-patches; +Cc: Tom Tromey
This changes the lnp_state_machine constructor to initialize members
directly; and changes lnp_state_machine itself to initialize members
inline when possible.
---
gdb/dwarf2/read.c | 33 +++++++++++++--------------------
1 file changed, 13 insertions(+), 20 deletions(-)
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index cd937f24ee7..97f99160443 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -20073,7 +20073,7 @@ class lnp_state_machine
CORE_ADDR m_address;
linetable_entry_flags m_flags;
- unsigned int m_discriminator;
+ unsigned int m_discriminator = 0;
/* Additional bits of state we need to track. */
@@ -20093,7 +20093,7 @@ class lnp_state_machine
bool m_stmt_at_address = false;
/* When true, record the lines we decode. */
- bool m_currently_recording_lines = false;
+ bool m_currently_recording_lines = true;
/* The last line number that was recorded, used to coalesce
consecutive entries for the same line. This can happen, for
@@ -20346,25 +20346,18 @@ lnp_state_machine::record_line (bool end_sequence)
lnp_state_machine::lnp_state_machine (struct dwarf2_cu *cu, gdbarch *arch,
line_header *lh)
+ : m_cu (cu),
+ m_gdbarch (arch),
+ m_line_header (lh),
+ /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as
+ if there was a line entry for it so that the backend has a
+ chance to adjust it and also record it in case it needs it.
+ This is currently used by MIPS code,
+ cf. `mips_adjust_dwarf2_line'. */
+ m_address (gdbarch_adjust_dwarf2_line (arch, 0, 0)),
+ m_flags (lh->default_is_stmt ? LEF_IS_STMT : (linetable_entry_flags) 0),
+ m_last_address (m_address)
{
- m_cu = cu;
- m_gdbarch = arch;
- m_line_header = lh;
-
- m_currently_recording_lines = true;
-
- /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as if there
- was a line entry for it so that the backend has a chance to adjust it
- and also record it in case it needs it. This is currently used by MIPS
- code, cf. `mips_adjust_dwarf2_line'. */
- m_address = gdbarch_adjust_dwarf2_line (arch, 0, 0);
- m_flags = 0;
- if (lh->default_is_stmt)
- m_flags |= LEF_IS_STMT;
- m_discriminator = 0;
-
- m_last_address = m_address;
- m_stmt_at_address = false;
}
void
--
2.39.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Clean up lnp_state_machine constructor
2023-01-30 4:25 [PATCH] Clean up lnp_state_machine constructor Tom Tromey
@ 2023-01-30 12:34 ` Lancelot SIX
0 siblings, 0 replies; 2+ messages in thread
From: Lancelot SIX @ 2023-01-30 12:34 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
Hi,
I went through this patch, and FWIW, this looks good to me.
Reviewed-By: Lancelot Six <lancelot.six@amd.com>
Best,
Lancelot.
On Sun, Jan 29, 2023 at 09:25:37PM -0700, Tom Tromey wrote:
> This changes the lnp_state_machine constructor to initialize members
> directly; and changes lnp_state_machine itself to initialize members
> inline when possible.
> ---
> gdb/dwarf2/read.c | 33 +++++++++++++--------------------
> 1 file changed, 13 insertions(+), 20 deletions(-)
>
> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
> index cd937f24ee7..97f99160443 100644
> --- a/gdb/dwarf2/read.c
> +++ b/gdb/dwarf2/read.c
> @@ -20073,7 +20073,7 @@ class lnp_state_machine
>
> CORE_ADDR m_address;
> linetable_entry_flags m_flags;
> - unsigned int m_discriminator;
> + unsigned int m_discriminator = 0;
>
> /* Additional bits of state we need to track. */
>
> @@ -20093,7 +20093,7 @@ class lnp_state_machine
> bool m_stmt_at_address = false;
>
> /* When true, record the lines we decode. */
> - bool m_currently_recording_lines = false;
> + bool m_currently_recording_lines = true;
>
> /* The last line number that was recorded, used to coalesce
> consecutive entries for the same line. This can happen, for
> @@ -20346,25 +20346,18 @@ lnp_state_machine::record_line (bool end_sequence)
>
> lnp_state_machine::lnp_state_machine (struct dwarf2_cu *cu, gdbarch *arch,
> line_header *lh)
> + : m_cu (cu),
> + m_gdbarch (arch),
> + m_line_header (lh),
> + /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as
> + if there was a line entry for it so that the backend has a
> + chance to adjust it and also record it in case it needs it.
> + This is currently used by MIPS code,
> + cf. `mips_adjust_dwarf2_line'. */
> + m_address (gdbarch_adjust_dwarf2_line (arch, 0, 0)),
> + m_flags (lh->default_is_stmt ? LEF_IS_STMT : (linetable_entry_flags) 0),
> + m_last_address (m_address)
> {
> - m_cu = cu;
> - m_gdbarch = arch;
> - m_line_header = lh;
> -
> - m_currently_recording_lines = true;
> -
> - /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as if there
> - was a line entry for it so that the backend has a chance to adjust it
> - and also record it in case it needs it. This is currently used by MIPS
> - code, cf. `mips_adjust_dwarf2_line'. */
> - m_address = gdbarch_adjust_dwarf2_line (arch, 0, 0);
> - m_flags = 0;
> - if (lh->default_is_stmt)
> - m_flags |= LEF_IS_STMT;
> - m_discriminator = 0;
> -
> - m_last_address = m_address;
> - m_stmt_at_address = false;
> }
>
> void
> --
> 2.39.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-01-30 12:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-30 4:25 [PATCH] Clean up lnp_state_machine constructor Tom Tromey
2023-01-30 12:34 ` Lancelot SIX
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).