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-0.8-378-g37d42f2
- From: jistone at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 18 Feb 2009 21:39:55 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.8-378-g37d42f2
- 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 37d42f2a8792be9c25a71b2ad6b4c55252a1b204 (commit)
via 23ad66b41ded81502948584816390c634f66c5ee (commit)
via 482fe2af17347b472232c5d7c4b26e53606e395e (commit)
via c4ce66a13b44386263ede8ac13924d666b69d53e (commit)
via f80d90043cf900dc6027329a61489444d7ab4ee3 (commit)
via c24447be6017725800336e2a8a4836e3f58fdfe9 (commit)
via 9b5af2958a35174a67076c0f27cff0ed5950736d (commit)
from 9b9b56ea063b6eea422a6d772bd49469e3eec649 (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 37d42f2a8792be9c25a71b2ad6b4c55252a1b204
Merge: 23ad66b41ded81502948584816390c634f66c5ee 9b9b56ea063b6eea422a6d772bd49469e3eec649
Author: Josh Stone <jistone@redhat.com>
Date: Wed Feb 18 13:37:04 2009 -0800
Merge branch 'master' of sourceware.org:/git/systemtap
commit 23ad66b41ded81502948584816390c634f66c5ee
Merge: 2aa2ccb83142c3bf98ac8ee1558a0ee72dff3a1f 482fe2af17347b472232c5d7c4b26e53606e395e
Author: Josh Stone <jistone@redhat.com>
Date: Wed Feb 18 12:53:08 2009 -0800
Enable typecasting with @cast
println(@cast(myptr, "task_struct")->pid)
println(@cast(myptr, "task_struct", "kernel")->pid)
Merge branch 'typecast', bump ChangeLog entries to push date
commit 482fe2af17347b472232c5d7c4b26e53606e395e
Author: Josh Stone <jistone@redhat.com>
Date: Tue Feb 17 19:19:48 2009 -0800
Bump copyright years to 2009
commit c4ce66a13b44386263ede8ac13924d666b69d53e
Author: Josh Stone <jistone@redhat.com>
Date: Tue Feb 17 18:15:06 2009 -0800
Enable dwarf expansion of @casts
This will iterate over the module and its CUs looking for the type
definition, and then work with loc2c to dereference the pointer.
* loc2c.c (c_translate_argument): Create a dummy location to start
the address computation from a function parameter.
* translate.cxx (base_query, dwarf_query): Move some members from
base_query to dwarf_query, so the former can be more generic. Also
add a constructor using a module string instead of probe parameters.
(dwflpp::query_modules, dwflpp::iterate_over_modules): Use a generic
base_query instead of a dwarf_query.
(dwarf_cast_query): New query to scan the modules and CUs for a
matching type definition, and then produce a code fragment to deref
each component.
(dwarf_cast_expanding_visitor): Tries to replace @casts with a function
call to the result of a dwarf_cast_query.
(dwflpp::declaration_resolve): Search by name instead of by die.
(dwflpp::translate_components): Use the incoming vardie as the first
type die, so we don't assume that attr_mem has a DW_AT_type already.
(dwflpp::literal_stmt_for_pointer): Construct a C fragment that starts
with a pointer argument (THIS->pointer) and dereferences each member
component from there.
(*_derived_probe::register_patterns): Take a session parameter instead
of a match_node, so we can manipulate session-wide data.
(dwarf_derived_probe::register_patterns): Add a session code filter to
expand @casts with a dwarf_cast_expanding_visitor.
commit f80d90043cf900dc6027329a61489444d7ab4ee3
Author: Josh Stone <jistone@redhat.com>
Date: Wed Feb 11 15:28:41 2009 -0800
Enable session-wide code filtering
This will be used to hook to dwarf_builder to all functions and probes
so it can attempt @cast expansion.
* session.h (systemtap_session): Add a vector of update_visitors
that will act as filters for all probes and functions.
* elaborate.cxx (semantic_pass_symbols): Run probes and functions
through each registered code filter.
commit c24447be6017725800336e2a8a4836e3f58fdfe9
Author: Josh Stone <jistone@redhat.com>
Date: Wed Feb 11 14:43:24 2009 -0800
Provide dwarf module names as defaults in @cast()s
* tapsets.cxx (dwarf_var_expanding_visitor::visit_cast_op): While
expanding dwarf probes, provide the current module as a default to
@casts without a module name.
commit 9b5af2958a35174a67076c0f27cff0ed5950736d
Author: Josh Stone <jistone@redhat.com>
Date: Wed Feb 11 14:34:32 2009 -0800
Add high-level support for @cast()ing
This handles all of the parsing, traversal, and optimization. It
doesn't actually resolve the cast yet though.
* staptree.h (struct cast_op, visitor::visit_cast_op): New.
* staptree.cxx (cast_op::print/visit, various visitor::visit_cast_op's):
Incorporate cast_op into the basic tree operations.
* parse.cxx (parser::parse_symbol): Parse @cast operator with an
expression operand, type string, and optional module string.
* translate.cxx (c_unparser::visit_cast_op): Error out if a @cast
survives to translation.
* elaborate.cxx (typeresolution_info::visit_cast_op): Error out if a
@cast survives to type resolution.
(symbol_fetcher::visit_cast_op): treat @casts as a symbol target
(void_statement_reducer::visit_cast_op): unused @casts can be discarded,
but the operand should still be evaluated.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 53 ++++++++
elaborate.cxx | 39 ++++++-
elaborate.h | 3 +-
loc2c.c | 37 ++++++
loc2c.h | 15 +++
parse.cxx | 51 ++++++++-
session.h | 7 +-
staptree.cxx | 66 ++++++++++-
staptree.h | 17 +++-
tapsets.cxx | 376 +++++++++++++++++++++++++++++++++++++++++++++++++++------
translate.cxx | 10 ++-
11 files changed, 631 insertions(+), 43 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool