[RFA 11/22] Change command stats reporting to use class

Pedro Alves palves@redhat.com
Sun Oct 9 17:01:00 GMT 2016


On 09/27/2016 05:08 AM, Tom Tromey wrote:
> This removes make_command_stats_cleanup in favor of an RAII class.
> The patch is reasonably straightforward, but keeping the same
> semantics required reindenting much of captured_main.

Did you try splitting the reindented code to a separate
function instead?  Like:

-captured_main ()
+captured_main_1 ()
{
   ... existing code, except the command stats business
}

captured_main ()
{
 #ifdef HAVE_SBRK
  /* Set this before constructing scoped_command_stats.  */
   lim_at_start = (char *) sbrk (0);
 #endif

 {
   scoped_command_stats stat_reporter (0);

   captured_main_1 (...);
 }

  /* NOTE: cagney/1999-11-07: There is probably no reason for not
     moving this loop and the code found in captured_command_loop()
     into the command_loop() proper.  The main thing holding back that
     change - SET_TOP_LEVEL() - has been eliminated.  */
  while (1)
    {
      catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
    }
}

I imagine that results in a much smaller diff, and probably
clearer code.

Once someone fixes that NOTE, then we can even remove the extra
scope around scoped_command_stats.  Or if we fixed that NOTE
before this patch, then we wouldn't need the separate function
nor the reindenting at all.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list