public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [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).