This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC] [PATCH] Provide the ability to write the frame unwinder in Python
- From: Alexander Smundak <asmundak at google dot com>
- To: Andy Wingo <wingo at igalia dot com>
- Cc: Phil Muldoon <pmuldoon at redhat dot com>, Doug Evans <dje at google dot com>, gdb-patches <gdb-patches at sourceware dot org>
- Date: Wed, 11 Mar 2015 11:48:21 -0700
- Subject: Re: [RFC] [PATCH] Provide the ability to write the frame unwinder in Python
- Authentication-results: sourceware.org; auth=none
- References: <CAHQ51u7NUoQ8w9c5mc-Eiz05b1Nub6zqj_Ne7vfgWb5EP9_X8w at mail dot gmail dot com> <21714 dot 40641 dot 510825 dot 30998 at ruffy2 dot mtv dot corp dot google dot com> <CAHQ51u5_ViLaEmv9e43R-wzuWw8dwNkb-2XgCRy5ELQq5FUAWg at mail dot gmail dot com> <54E71694 dot 1080304 at redhat dot com> <CAHQ51u75+9HYAVJXYNQa0gTnQtYKEgmSkyAhAPYp-y4HGtXssg at mail dot gmail dot com> <CAHQ51u6UZ7A47rpGgX0QGeYSTCz1eo_3jWHc=q2ZX3YhqcJ6iQ at mail dot gmail dot com> <87ioei31uj dot fsf at igalia dot com> <CAHQ51u4f+Vx7qXPm-KAAENOceaVogMbDMw6==N_nY+GrLr4Pgg at mail dot gmail dot com> <87d24p19tt dot fsf at igalia dot com> <54FD7DAA dot 7010603 at redhat dot com> <CAHQ51u7sUkGhkmvTaaO_Jo6Jn+kojfiMWHmc2=7OWHThAq6EKw at mail dot gmail dot com> <87twxrncld dot fsf at igalia dot com>
On Wed, Mar 11, 2015 at 1:49 AM, Andy Wingo <wingo@igalia.com> wrote:
>I note that the patch has no interface to specify registers by name.
>I still wouldn't do numbers but I see we disagree :)
Will do in the next revision.
> What do you think about merging the SnifferInfo and UnwindInfo objects
> into an EphemeralFrame object? It would be nice to use the same nouns
> on the Guile and Python sides.
I prefer the separation of the input (SnifferInfo) and output (UnwindInfo).
I am surprised someone from Guile side is advocating stateful interface :-)
In fact, I'd rather avoid having modifiable UnwindInfo at all -- a sniffer can
return a 2-tuple of (<previous frame registers>, <FrameId instance>),
where FrameId instance can be created by a class method
gdb.SnifferInfo.frame_id_build_xxx(). Can we agree on that?