summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-02-18 12:53:08 -0800
committerJosh Stone <jistone@redhat.com>2009-02-18 12:53:08 -0800
commit23ad66b41ded81502948584816390c634f66c5ee (patch)
treedb900ca0141a16152c3bf27395cd4975cad6a1ab /ChangeLog
parent2aa2ccb83142c3bf98ac8ee1558a0ee72dff3a1f (diff)
parent482fe2af17347b472232c5d7c4b26e53606e395e (diff)
downloadsystemtap-steved-23ad66b41ded81502948584816390c634f66c5ee.tar.gz
systemtap-steved-23ad66b41ded81502948584816390c634f66c5ee.tar.xz
systemtap-steved-23ad66b41ded81502948584816390c634f66c5ee.zip
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
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog53
1 files changed, 53 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e3f43f6..3cad046e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,56 @@
+2009-02-18 Josh Stone <jistone@redhat.com>
+
+ * 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.
+
+2009-02-18 Josh Stone <jistone@redhat.com>
+
+ * 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.
+
+2009-02-18 Josh Stone <jistone@redhat.com>
+
+ * 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.
+
+2009-02-18 Josh Stone <jistone@redhat.com>
+
+ * 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.
+
2009-02-17 Frank Ch. Eigler <fche@elastic.org>
* AUTHORS: Regenerated with ...