From: Ross Morley <ross@tensilica.com>
To: Jim Blandy <jimb@codesourcery.com>
Cc: Maxim Grigoriev <maxim@tensilica.com>,
gdb@sourceware.org, Marc Gauthier <marc@tensilica.com>,
Pete MacLiesh <pmac@tensilica.com>
Subject: Re: Understanding GDB frames
Date: Wed, 23 May 2007 02:24:00 -0000 [thread overview]
Message-ID: <4653A5F3.60503@tensilica.com> (raw)
In-Reply-To: <m3veektm5e.fsf@codesourcery.com>
Jim Blandy wrote:
>Ross Morley <ross@tensilica.com> writes:
>
>
>>Jim Blandy wrote:
>>
>>
>>>After I'd sent my last post I realized that, of course, the "entry
>>>point PC" approach fails in the (I'd guess) more common case that the
>>>"return address PC" does not:
>>>
>>> void foo (void) {}
>>> main () { foo (); foo (); }
>>>
>>>Perhaps the best approach is to use both the return address and the
>>>entry point in the frame ID. If either have changed, it's certainly a
>>>new frame.
>>>
>>>
>>>
>>>
>>Well not quite certainly, eg.
>>
>> void bar (void) {}
>> void foo (void) { bar (); }
>> main () { foo (); foo (); }
>>
>>But definitely an improvement that's easy to achieve.
>>
>>
>
>I don't follow. Is there something here where a frame's return
>address and entry point change, but it's not a new frame? I'm not
>claiming using both the return address and the entry point would
>eliminate false positives in frame_eq, just that it restricts false
>positives and does not introduce false negatives.
>
>
>
I'm sorry, I misread your post. Your "certainly" is certainly right. :-)
We need to remember, though, that one goal is to minimize the overhead
for the MI front end of having to re-create varobjs. As we get better
at detecting a frame change (reduce false positives) we actually increase
the overhead for the FE because it then (to be correct) needs to recreate
its varobjs. We should think about solving that problem before we get too
much better at detecting frame changes.
Ross
next prev parent reply other threads:[~2007-05-23 2:24 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-21 22:24 Maxim Grigoriev
2007-05-21 23:28 ` Ross Morley
2007-05-22 2:05 ` Nick Roberts
2007-05-22 2:31 ` Daniel Jacobowitz
2007-05-22 2:51 ` Nick Roberts
2007-05-22 10:58 ` Daniel Jacobowitz
2007-05-22 8:40 ` Ross Morley
2007-05-22 16:10 ` Marc Gauthier
2007-05-22 16:36 ` Daniel Jacobowitz
2007-05-22 18:14 ` Vladimir Prus
2007-05-22 18:33 ` Jim Ingham
2007-05-22 18:36 ` Daniel Jacobowitz
2007-05-23 21:45 ` Jim Blandy
2007-05-22 17:20 ` Ross Morley
2007-05-22 20:24 ` Nick Roberts
2007-05-22 21:12 ` Maxim Grigoriev
2007-05-22 1:40 ` Joel Brobecker
2007-05-22 2:29 ` Daniel Jacobowitz
2007-05-22 18:37 ` Jim Blandy
2007-05-22 19:17 ` Maxim Grigoriev
2007-05-22 20:25 ` Nick Roberts
2007-05-22 20:33 ` Ross Morley
2007-05-22 20:45 ` Maxim Grigoriev
2007-05-22 21:26 ` Nick Roberts
2007-05-23 7:00 ` Eli Zaretskii
2007-05-23 10:48 ` Daniel Jacobowitz
2007-05-23 12:44 ` Eli Zaretskii
2007-05-22 23:56 ` Jim Blandy
2007-05-23 1:01 ` Maxim Grigoriev
2007-05-23 2:24 ` Daniel Jacobowitz
2007-05-23 16:37 ` Maxim Grigoriev
2007-05-23 0:05 ` Jim Blandy
2007-05-23 0:17 ` Ross Morley
2007-05-23 0:32 ` Jim Blandy
2007-05-23 2:24 ` Ross Morley [this message]
2007-05-23 21:52 ` Jim Blandy
2007-05-24 0:05 ` Ross Morley
2007-05-24 1:24 ` Ross Morley
2007-05-24 21:56 ` Jim Blandy
2007-05-23 0:17 ` Daniel Jacobowitz
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=4653A5F3.60503@tensilica.com \
--to=ross@tensilica.com \
--cc=gdb@sourceware.org \
--cc=jimb@codesourcery.com \
--cc=marc@tensilica.com \
--cc=maxim@tensilica.com \
--cc=pmac@tensilica.com \
/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