Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Ingham <jingham@apple.com>
To: Nick Roberts <nickrob@snap.net.nz>
Cc: gdb@sourceware.org, dmi-discuss@lists.freestandards.org
Subject: Re: MI: event notification
Date: Mon, 17 Jul 2006 22:00:00 -0000	[thread overview]
Message-ID: <C9BBA63B-9DA7-48B6-B340-D7C77E5C2DAE@apple.com> (raw)
In-Reply-To: <17593.30235.462941.279388@kahikatea.snap.net.nz>


On Jul 15, 2006, at 4:11 PM, Nick Roberts wrote:

> Jim Ingham writes:
>> We don't do what Nick's suggesting.  We do do something similar for
>> shared library notifications - we emit async notifications for shared
>> library load events from gdb so Xcode doesn't have to stop on solib
>> events & get the shlig list.  Similarly if a shared library load
>> causes a pended breakpoint to get loaded we tell about that as well.
>>
>> But we don't do anything for stack changes.  Note, except in the case
>> where you have gotten stuck in some kind of pathological recursion, I
>> would be surprised if it's consing up the stack list for the MI that
>> takes a significant portion of the time, so I'm not sure this example
>> isn't a false optimization.  But anyway, we don't do that.
>
> I thought previous discussion (Vladimir Prus) suggested that
> -stack-list-argments, at least, was time consuming.  If the stack is  
> 1000's of
> frames deep, it must surely be time comsuming to compute and re- 
> display it at
> every step.  The depth can be restricted but I think you have said  
> that the
> first ones take are the hardest to compute.

We have a simple backtracer that just follows the frame pointer, and  
doesn't do any of the fancy unwinding of registers, etc.  When I get  
it to print roughly the same information as the ordinary -stack-list- 
frames it's ~10 times faster than -stack-list-frames.  So I'm pretty  
sure most of the time in -stack-list-frames is doing real work  
computing the backtrace, and only a small portion is consing up the  
output.  To tell whether the stack has changed or not you have to do  
the backtrace (even if you don't report it.)  So my guess is this  
change wouldn't save very much time.

The shared-libraries one was a win because we got the UI out of the  
process of stopping & starting again on shared library hit.  For

>
> In any case, we need to be scientific about it, so I propose to add  
> a time
> field to the MI output.  ISTR that Apple's MI already has this.  Are  
> you
> planning to include this (or the async notifications for shared  
> librarys) in
> the DMI specification?  I would like to avoid unnecessary  
> duplication of
> effort.

Dunno if the timing belongs in the spec, since it's more of a  
diagnostic thing.  But it is really handy to have...  The shared  
library notification is really useful and probably should go in.

Jim


  reply	other threads:[~2006-07-17 21:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-21  1:34 Nick Roberts
2006-06-21  2:23 ` Daniel Jacobowitz
2006-06-21  2:31   ` Nick Roberts
2006-06-21  4:50     ` Daniel Jacobowitz
2006-07-10 20:43       ` Jim Ingham
2006-07-16  4:34         ` Nick Roberts
2006-07-17 22:00           ` Jim Ingham [this message]
2006-07-17 23:02             ` Nick Roberts

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C9BBA63B-9DA7-48B6-B340-D7C77E5C2DAE@apple.com \
    --to=jingham@apple.com \
    --cc=dmi-discuss@lists.freestandards.org \
    --cc=gdb@sourceware.org \
    --cc=nickrob@snap.net.nz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox