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.9.9-190-g5441749
- From: jistone at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 26 Aug 2009 02:11:17 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.9.9-190-g5441749
- 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 544174947817538d15a105fe2de4f2094079fd6c (commit)
via c1c5bb9a8bd0a58f98708f949e4dbe74561898a7 (commit)
via be53d3135d2f22032917b0da19a2f9783d3f2705 (commit)
via d089f5b2932a473692f8c3e1badb883fabc55dee (commit)
via 54558065ee8428cfdc42135f151739fbc787d034 (commit)
from 3f46f8c2a94567956a1a722da6d13de84726c344 (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 544174947817538d15a105fe2de4f2094079fd6c
Author: Josh Stone <jistone@redhat.com>
Date: Tue Aug 25 18:53:40 2009 -0700
Compute cu_name dynamically
We only need cu_name for errors and verbose messages, so it's a waste to
always construct it in focus_on_cu. It's now built only as-needed.
* dwflpp.cxx (dwflpp::cu_name): Now a method instead of a data member.
(dwflpp::focus_on_module): No cu_name to clear now.
(dwflpp::focus_on_cu): No cu_name to set now.
(dwflpp::declaration_resolve): Adjust to call cu_name() now.
(dwflpp::iterate_over_functions): Ditto.
* tapsets.cxx (query_cu): Ditto.
commit c1c5bb9a8bd0a58f98708f949e4dbe74561898a7
Author: Josh Stone <jistone@redhat.com>
Date: Tue Aug 25 18:20:39 2009 -0700
Avoid needless Dwarf_Die copying
* dwflpp.cxx (dwflpp::iterate_over_cus): Use the Dwarf_Die as a
pointer directly into the vector.
(dwflpp::iterate_over_inline_instances): Ditto.
(dwflpp::iterate_over_functions): Ditto in a map.
commit be53d3135d2f22032917b0da19a2f9783d3f2705
Author: Josh Stone <jistone@redhat.com>
Date: Tue Aug 25 17:42:55 2009 -0700
Convert module_cu_cache_t to a stap_map
* dwflpp.cxx (module_cu_cache_t): Typedef as a stap_map instead.
commit d089f5b2932a473692f8c3e1badb883fabc55dee
Author: Josh Stone <jistone@redhat.com>
Date: Tue Aug 25 17:23:28 2009 -0700
Index cu_inl_function_cache_t by function->addr
Again, avoid needless string construction for map indexing.
* dwflpp.h (cu_inl_function_cache_t): Index by the void* function->addr.
* dwflpp.cxx (dwflpp::iterate_over_inline_instances): Index
cu_inl_function_cache by function->addr.
commit 54558065ee8428cfdc42135f151739fbc787d034
Author: Josh Stone <jistone@redhat.com>
Date: Tue Aug 25 16:58:20 2009 -0700
Index mod_cu_function_cache_t by cu->addr
Rather than constructing a "module:cu" string all the time, we can just
index the cache by the cu die's addr field. The addr will never change
as long as the Dwarf object is still alive.
This has a quite noticeable performance impact for scripts that iterate
over lots of cus (like for syscall.*).
* dwflpp.h (stap_map): Allow void* keys too.
(mod_cu_function_cache_t): Index by the void* cu->addr.
* dwflpp.cxx (dwflpp::iterate_over_functions): Index cu_function_cache
by addr, and build the verbose strings manually when needed.
(dwflpp::declaration_resolve): Index global_alias_cache by addr.
-----------------------------------------------------------------------
Summary of changes:
dwflpp.cxx | 62 ++++++++++++++++++++++++++++++----------------------------
dwflpp.h | 31 ++++++++++++++++++++---------
tapsets.cxx | 4 +-
3 files changed, 55 insertions(+), 42 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool