This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-177-g5f36109
- From: jistone at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 27 May 2010 23:25:16 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.2-177-g5f36109
- Reply-to: systemtap at sourceware dot org
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via 5f36109ef05d8399e6369c0487a0a17d40ad3267 (commit)
from 915ad99a751afd2bf8dea3c0c43f20d4849a7410 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5f36109ef05d8399e6369c0487a0a17d40ad3267
Author: Josh Stone <jistone@redhat.com>
Date: Thu May 27 15:54:01 2010 -0700
PR3672: Add pretty-printing for compound types
This adds a new syntax for pretty-printing variables as strings:
$var$ $var$$ $var->$ $var->$$
$@cast(...)$ $@cast(...)$$ $@cast(...)->$ $@cast(...)->$$
$var->foo->$ $var[1]->$ $@cast(...)->foo$ $@cast(...)[2]$
This is still a work in progress, but I deemed it now useful enough to
share. See PR3672 for discussion of work remaining.
* parse.cxx (parser::parse_target_symbol_components): Parse the trailing
$s as a new comp_pretty_print entry in the target_symbol.
* staptree.cxx (target_symbol::assert_no_components): Add a flag to
assert whether pretty-printing is supported.
(target_symbol::component::print): Support comp_pretty_print.
* dwflpp.cxx (dwflpp::translate_components): Skip the actual translation
if the obstack "pool" is NULL.
(dwflpp::type_die_for_local): Dig through a local and its components
to get the type DIE that the pretty printing can start from.
(dwflpp::type_die_for_return): Ditto for return values.
(dwflpp::type_die_for_pointer): Ditto for pointers.
* tapsets.cxx (dwarf_pretty_print): New struct for recursing over a type
DIE and producing a string representation. (The real meat lies here!)
(dwarf_var_expanding_visitor::visit_target_symbol): Determine when to
use dwarf_pretty_print instead of the normal path.
(dwarf_var_expanding_visitor::visit_target_symbol_context): Ditto.
(tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto.
(tracepoint_var_expanding_visitor::visit_target_symbol_context): Ditto.
(dwarf_cast_query, dwarf_cast_expanding_visitor): Move the function
generation from the visitor to the query, and also support using
dwarf_pretty_print as needed.
-----------------------------------------------------------------------
Summary of changes:
dwflpp.cxx | 86 +++++++-
dwflpp.h | 21 ++-
parse.cxx | 48 ++++-
staptree.cxx | 15 +-
staptree.h | 12 +-
tapsets.cxx | 742 ++++++++++++++++++++++++++++++++++++++++++++++++----------
6 files changed, 784 insertions(+), 140 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool