diff options
author | Josh Stone <jistone@redhat.com> | 2009-02-11 15:28:41 -0800 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-02-18 12:49:08 -0800 |
commit | f80d90043cf900dc6027329a61489444d7ab4ee3 (patch) | |
tree | f01b7ea8098117542993c6563ed8573f3726ee19 /session.h | |
parent | c24447be6017725800336e2a8a4836e3f58fdfe9 (diff) | |
download | systemtap-steved-f80d90043cf900dc6027329a61489444d7ab4ee3.tar.gz systemtap-steved-f80d90043cf900dc6027329a61489444d7ab4ee3.tar.xz systemtap-steved-f80d90043cf900dc6027329a61489444d7ab4ee3.zip |
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.
Diffstat (limited to 'session.h')
-rw-r--r-- | session.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -45,6 +45,7 @@ struct translator_output; struct unparser; struct semantic_error; struct module_cache; +struct update_visitor; // XXX: a generalized form of this descriptor could be associated with @@ -133,6 +134,10 @@ struct systemtap_session stapfile* user_file; std::vector<stapfile*> library_files; + // filters to run over all code before symbol resolution + // e.g. @cast expansion + std::vector<update_visitor*> code_filters; + // resolved globals/functions/probes for the run as a whole std::vector<stapfile*> files; std::vector<vardecl*> globals; |