[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.9.8-234-g8b095b4
jistone@sourceware.org
jistone@sourceware.org
Tue Aug 4 00:10:00 GMT 2009
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 8b095b454b34e88c04592be6c651153f802eced6 (commit)
via 3a4235b9897b75a188753419a29f0616c1686249 (commit)
via 0164a29cfb80344dced2e1683df05f6b62fe6cb3 (commit)
via 6fda2dff51c667a8c73545dd397b844108715310 (commit)
via 28ad563d57d03e0d21936e394061e3380607d83b (commit)
via dc5a09fc9a61c8b33078164b6855dea54a33627c (commit)
via c67847a0d05f8c7207513e79378fc8d84563e109 (commit)
via 81931eaba5dcd0727f33328bf4b0ff511b791990 (commit)
via 8eb285ac4ec3a34b29ebf20fde0e28cc647d940f (commit)
from 79a7b65cf99ca7ec258d11c41af5d8ab13abf609 (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 8b095b454b34e88c04592be6c651153f802eced6
Author: Josh Stone <jistone@redhat.com>
Date: Mon Aug 3 15:49:40 2009 -0700
Add update_visitor::replace
I noticed that most uses of update_visitor::require() were simply
writing the value back to the same place, i.e. foo = require(foo). The
new replace() method just encapsulates that paradigm, so we don't have
the duplication between the LHS and RHS.
* staptree.h (update_visitor::replace): New.
* elaborate.cxx, staptree.cxx, tapset-mark.cxx, tapset-perfmon.cxx,
tapset-procfs.cxx, tapset-utrace.cxx, tapsets.cxx: Update all require
calls that are simply updating the value in-place.
commit 3a4235b9897b75a188753419a29f0616c1686249
Author: Josh Stone <jistone@redhat.com>
Date: Mon Aug 3 15:20:19 2009 -0700
Strengthen the template types in update_visitor
* staptree.h (update_visitor::require, provide): Make the parameters and
return values a T*, to make it explicit that we want pointer types.
commit 0164a29cfb80344dced2e1683df05f6b62fe6cb3
Merge: 28ad563d57d03e0d21936e394061e3380607d83b 6fda2dff51c667a8c73545dd397b844108715310
Author: Josh Stone <jistone@redhat.com>
Date: Mon Aug 3 15:16:09 2009 -0700
Merge branch 'array_index'
commit 6fda2dff51c667a8c73545dd397b844108715310
Author: Josh Stone <jistone@redhat.com>
Date: Mon Aug 3 14:45:21 2009 -0700
PR2049: support arbitrary $target-array indexing
Rather than just numeric literals, we can now support arbitrary
expressions for the index value. Note that loc2c won't allow this for
noncontiguous arrays, as the access methods need to be statically
computed, but for contiguous arrays and pointers-as-arrays it works
just fine.
* staptree.h (target_symbol::component): Add expression_array_index.
* staptree.cxx (target_symbol::visit_components): New helper.
(target_symbol::assert_no_components): Recognize new array type.
(target_symbol::component::print): Print subexpressions.
(traversing_visitor::visit_target_symbol, visit_cast_op): Visit the
indexing components too.
(varuse_collecting_visitor::visit_target_symbol): Ditto.
(update_visitor::visit_target_symbol, visit_cast_op): Ditto.
* elaborate.cxx (void_statement_reducer::visit_target_symbol): New.
(void_statement_reducer::visit_cast_op): Save indexes too.
* parse.cxx (parser::parse_target_symbol_components): Parse expressions.
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Pass
expression-indexes as parameters (indexN) to the dwarf function.
(dwarf_cast_expanding_visitor::visit_cast_op): Ditto.
(tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto.
(sdt_var_expanding_visitor::visit_target_symbol): Visit the new @cast.
* dwflpp.cxx (dwflpp::translate_components): Use THIS->indexN.
* translate.cxx (c_unparser::visit_target_symbol): Correct error msg.
* testsuite/systemtap.base/pointer_array.stp: Use a simple index.
commit 28ad563d57d03e0d21936e394061e3380607d83b
Author: Josh Stone <jistone@redhat.com>
Date: Mon Aug 3 14:20:46 2009 -0700
PR10475: ensure that loc2c can find its array size
* loc2c.c (array_stride): iterate DIEs past typedef/const/volatile
commit dc5a09fc9a61c8b33078164b6855dea54a33627c
Author: Josh Stone <jistone@redhat.com>
Date: Fri Jul 31 17:24:13 2009 -0700
Unify no-component assertions on target variables
There are several tapsets that can't deal with component dereferences on
their target variables, and they all check-and-throw in the same way.
This refactors the checks into a target_symbol member.
* staptree.cxx (target_symbol::assert_no_components): New.
* tapsets.cxx (tracepoint_var_expanding_visitor::visit_target_symbol_arg,
tracepoint_var_expanding_visitor::visit_target_symbol_context): Use
the new assertion function to check for no components.
* tapset-mark.cxx (mark_var_expanding_visitor::visit_target_symbol_arg,
mark_var_expanding_visitor::visit_target_symbol_context): Ditto.
* tapset-perfmon.cxx (perfmon_var_expanding_visitor::visit_target_symbol): Ditto.
* tapset-procfs.cxx (procfs_var_expanding_visitor::visit_target_symbol): Ditto.
* tapset-utrace.cxx (utrace_var_expanding_visitor::visit_target_symbol_arg,
utrace_var_expanding_visitor::visit_target_symbol_context): Ditto.
commit c67847a0d05f8c7207513e79378fc8d84563e109
Author: Josh Stone <jistone@redhat.com>
Date: Fri Jul 31 17:00:09 2009 -0700
Make a real type for target_symbol->components
Now the dereferences on target_symbol and cast_op are tracked with a
struct instead of just a generic pair. The first immediate benefit is
that we can track the token for more exact error reporting.
* staptree.h (target_symbol): Add a new component type.
* staptree.cxx (target_symbol::component::print): New.
(operator<<(ostream&, target_symbol::component&): New.
(target_symbol::print): Adapt component printing.
(cast_op::print): Ditto.
* parse.cxx (parser::parse_target_symbol_components): Adapt to the new
component construction.
* dwflpp.cxx (dwflpp::find_struct_member): take the component as a
parameter for a better token in error messages
(dwflpp::translate_components): Adapt to the new component type.
* tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol): Don't
overwrite the token in target_symbol saved errors.
(tracepoint_var_expanding_visitor::visit_target_symbol_arg): Ditto.
commit 81931eaba5dcd0727f33328bf4b0ff511b791990
Author: Josh Stone <jistone@redhat.com>
Date: Fri Jul 31 13:46:54 2009 -0700
Refactor parser for target_symbol->components
The components were being parsed for both target_symbols and cast_ops,
so this change refactors that code into a single function.
* parse.cxx (parser::parse_target_symbol_components): New.
(parser::parse_symbol): Use the new function.
commit 8eb285ac4ec3a34b29ebf20fde0e28cc647d940f
Author: Josh Stone <jistone@redhat.com>
Date: Fri Jul 31 13:29:18 2009 -0700
Drop a couple of unnecessary std:: qualifiers
* staptree.cxx (target_symbol::print): Drop std:: from parameter o.
(cast_op::print): Ditto.
-----------------------------------------------------------------------
Summary of changes:
dwflpp.cxx | 73 +++++++----
dwflpp.h | 3 +-
elaborate.cxx | 100 ++++++++++++---
loc2c.c | 13 ++
parse.cxx | 74 +++++------
parse.h | 3 +
staptree.cxx | 187 ++++++++++++++++++----------
staptree.h | 46 ++++++--
tapset-mark.cxx | 38 +-----
tapset-perfmon.cxx | 21 +---
tapset-procfs.cxx | 21 +---
tapset-utrace.cxx | 40 +------
tapsets.cxx | 102 ++++++++++------
testsuite/semok/bz10475.stp | 10 ++
testsuite/systemtap.base/pointer_array.stp | 11 +--
translate.cxx | 2 +-
16 files changed, 417 insertions(+), 327 deletions(-)
create mode 100755 testsuite/semok/bz10475.stp
hooks/post-receive
--
systemtap: system-wide probe/trace tool
More information about the Systemtap-cvs
mailing list