This is the mail archive of the systemtap-cvs@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.9.9-287-g30c6467


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  30c64675b8d77b4dbcd8a5aa6fc90610fef8df00 (commit)
       via  729455a739d4755269f20b73d2db231db2a1fdd7 (commit)
       via  c9efa5c99498ccb3d2f0f87bc373da7dfd1cc067 (commit)
       via  9aa8ffcea9980d24cc9c9f13d9dd51e46e6283bf (commit)
      from  5e3e8ffc28f765eb4933f8f167158900588aa51a (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 30c64675b8d77b4dbcd8a5aa6fc90610fef8df00
Merge: 5e3e8ffc28f765eb4933f8f167158900588aa51a 729455a739d4755269f20b73d2db231db2a1fdd7
Author: Josh Stone <jistone@redhat.com>
Date:   Thu Sep 10 20:40:10 2009 -0700

    Merge branch 'getscopes'

commit 729455a739d4755269f20b73d2db231db2a1fdd7
Author: Josh Stone <jistone@redhat.com>
Date:   Thu Sep 10 17:06:11 2009 -0700

    PR10594 cont'd: Use parent die cache for variable lookup
    
    Variable lookup is usually done through the scopes from dwarf_getscopes
    at a particular pc.  This requires an expensive traversal to find the
    inner-most die containing the pc.  For cases where that containing die
    is known, e.g. at a particular function entry, we can do much better
    with our die_parent_cache.
    
    This may also help get more accurate variable scopes in cases where
    multiple dies contain a pc and the innermost isn't what we're trying to
    probe.  For example, an inlined call chain of foo->bar->baz may all have
    the same entry pc, but if the probe was on function("bar"), we would
    want the variables in bar's scope, not baz's.
    
    * dwflpp.h (struct dwflpp): Remove pc_cached_scopes, num_cached_scopes,
      and cached_scopes, as they are now remembered by the caller.
    * dwflpp.cxx (dwflpp::getscopes): New - the DIE version uses the parent
      cache, and the pc version just defers to dwarf_getscopes.
      (dwflpp::print_locals, literal_stmt_for_local): Take a scopes vector.
      (dwflpp::find_variable_and_frame_base): Take a scopes vector from the
      caller instead of computing it every time.
      (dwflpp::dwarf_getscopes_cached): Removed.
    * tapsets.cxx (dwarf_var_expanding_visitor::getscopes): New cached
      lookup function which gets the scopes from the DIE if possible.
      (dwarf_var_expanding_visitor::visit_target_symbol): Call getscopes.

commit c9efa5c99498ccb3d2f0f87bc373da7dfd1cc067
Author: Josh Stone <jistone@redhat.com>
Date:   Wed Sep 9 16:13:16 2009 -0700

    Simplify deleting all map values
    
    * util.h (delete_map): New templated map deleter.
    * dwflpp.cxx (dwflpp::~dwflpp): Use it.
    * tapsets.cxx (symbol_table::~symbol_table): Use it.

commit 9aa8ffcea9980d24cc9c9f13d9dd51e46e6283bf
Author: Josh Stone <jistone@redhat.com>
Date:   Wed Sep 9 15:45:28 2009 -0700

    PR10594: Provide a cached dwarf_getscopes_die
    
    This avoids repeated DIE traversal by caching all parents on the first
    call, so future calls are just a simple walk up parent links.
    
    * dwflpp.cxx (dwflpp::getscopes_die): New cached function that mimics
      libdw's dwarf_getscopes_die using cached parent links.
      (dwflpp::cache_die_parents): New function to build the parent cache.
      (dwflpp::~dwflpp): Clean up the parent caches.
      (dwflpp::iterate_over_labels): Use the cached getscopes_die.
      (dwflpp::find_variable_and_frame_base): Ditto.
    * tapsets.cxx (dwarf_derived_probe::saveargs): Ditto.
      (uprobe_derived_probe::saveargs): Ditto.
      (dwarf_var_expanding_visitor::visit_target_symbol_context): Ditto.

-----------------------------------------------------------------------

Summary of changes:
 dwflpp.cxx  |  272 ++++++++++++++++++++++++++++++++++++++++++++---------------
 dwflpp.h    |   25 ++++--
 tapsets.cxx |   66 ++++++++++----
 util.h      |   12 +++
 4 files changed, 279 insertions(+), 96 deletions(-)


hooks/post-receive
--
systemtap: system-wide probe/trace tool


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]