This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Remove command_line_handler_continuation.


On Saturday 03 May 2008 19:58:36 Vladimir Prus wrote:
> On Friday 02 May 2008 19:03:14 Daniel Jacobowitz wrote:
> > On Thu, Apr 24, 2008 at 07:33:40PM +0300, Vladimir Prus wrote:
> > > 
> > > With my previous patch to move all bpstat_do_actions calls into
> > > event handler, all that command_line_handler_continuation does
> > > is to print timings, if those are enabled. However, those timings
> > > don't make much sense. Timings are good for debugging GDB performance,
> > > and in case of command_line_handler_continuation, the times will report
> > > the time when the application run.
> > > 
> > > So, this patch removes that continuation. OK?
> > 
> > OK once you and Eli agree about documenting the timings.
> 
> Here's a revision with doc clarification. Eli, does it look sufficient?

And here's the patch, for real.

- Volodya
From a0ac4ea192e90df539fa167c1310f3f1a8184c02 Mon Sep 17 00:00:00 2001
From: Vladimir Prus <vladimir@codesourcery.com>
Date: Thu, 13 Mar 2008 12:18:12 +0300
Subject: [RFA] Remove command_line_handler_continuation.
To: gdb-patches@sources.redhat.com
X-KMail-Transport: CodeSourcery
X-KMail-Identity: 901867920

	[gdb]
	* top.c (command_line_handler_continuation): Remove.
	(execute_command): Do not install the above.

	[gdb/doc]
	* gdb.texinfo (Maintenance Commands): Clarify that "maint time"
	will not report the time of commands that run the target.
---
 gdb/doc/gdb.texinfo |    4 +++
 gdb/top.c           |   55 ---------------------------------------------------
 2 files changed, 4 insertions(+), 55 deletions(-)

diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 636a84b..45a7412 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -23437,6 +23437,10 @@ switch (@pxref{Mode Options}).
 Control whether to display the execution time for each command.  If
 set to a nonzero value, @value{GDBN} will display how much time it
 took to execute each command, following the command's own output.
+The time is not printed for the commands that run the target, since
+there's no mechanism currently to compute how much time was spend
+by @value{GDBN} and how much time was spend by the program been debugged.
+it's not possibly currently 
 This can also be requested by invoking @value{GDBN} with the
 @option{--statistics} command-line switch (@pxref{Mode Options}).
 
diff --git a/gdb/top.c b/gdb/top.c
index feefcf0..e0293df 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -364,43 +364,6 @@ do_chdir_cleanup (void *old_dir)
 }
 #endif
 
-/* Do any commands attached to breakpoint we stopped at. Only if we
-   are always running synchronously. Or if we have just executed a
-   command that doesn't start the target.  */
-static void
-command_line_handler_continuation (struct continuation_arg *arg, int error)
-{
-  extern int display_time;
-  extern int display_space;
-
-  long time_at_cmd_start  = arg->data.longint;
-  long space_at_cmd_start = arg->next->data.longint;
-
-  if (error)
-    return;
-
-  if (display_time)
-    {
-      long cmd_time = get_run_time () - time_at_cmd_start;
-
-      printf_unfiltered (_("Command execution time: %ld.%06ld\n"),
-			 cmd_time / 1000000, cmd_time % 1000000);
-    }
-  if (display_space)
-    {
-#ifdef HAVE_SBRK
-      char *lim = (char *) sbrk (0);
-      long space_now = lim - lim_at_start;
-      long space_diff = space_now - space_at_cmd_start;
-
-      printf_unfiltered (_("Space used: %ld (%c%ld for this command)\n"),
-			 space_now,
-			 (space_diff >= 0 ? '+' : '-'),
-			 space_diff);
-#endif
-    }
-}
-
 /* Execute the line P as a command.
    Pass FROM_TTY as second argument to the defining function.  */
 
@@ -534,24 +497,6 @@ execute_command (char *p, int from_tty)
 	  warned = 1;
 	}
     }
-
-  /* Set things up for this function to be compete later, once the
-     execution has completed, if we are doing an execution command,
-     otherwise, just go ahead and finish. */
-  if (target_can_async_p () && target_executing)
-    {
-      arg1 =
-	(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
-      arg2 =
-	(struct continuation_arg *) xmalloc (sizeof (struct continuation_arg));
-      arg1->next = arg2;
-      arg2->next = NULL;     
-      arg1->data.longint = time_at_cmd_start;
-#ifdef HAVE_SBRK
-      arg2->data.longint = space_at_cmd_start;
-#endif
-      add_continuation (command_line_handler_continuation, arg1);
-    }
 }
 
 /* Read commands from `instream' and execute them
-- 
1.5.3.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]