From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19369 invoked by alias); 18 Feb 2009 21:39:56 -0000 Received: (qmail 19337 invoked by uid 9586); 18 Feb 2009 21:39:55 -0000 Date: Wed, 18 Feb 2009 21:39:00 -0000 Message-ID: <20090218213955.19326.qmail@sourceware.org> From: jistone@sourceware.org To: systemtap-cvs@sourceware.org Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.8-378-g37d42f2 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 9b9b56ea063b6eea422a6d772bd49469e3eec649 X-Git-Newrev: 37d42f2a8792be9c25a71b2ad6b4c55252a1b204 Mailing-List: contact systemtap-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-cvs-owner@sourceware.org List-Archive: Reply-To: systemtap@sourceware.org X-SW-Source: 2009-q1/txt/msg00176.txt.bz2 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 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 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 Date: Tue Feb 17 19:19:48 2009 -0800 Bump copyright years to 2009 commit c4ce66a13b44386263ede8ac13924d666b69d53e Author: Josh Stone 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 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 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 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