summaryrefslogtreecommitdiffstats
path: root/staptree.h
diff options
context:
space:
mode:
authorgraydon <graydon>2005-06-29 22:42:23 +0000
committergraydon <graydon>2005-06-29 22:42:23 +0000
commit20c6c071f5dfe6942438d97364e74f424217c94b (patch)
tree28e6a1a2dace1f2143ed16fb80f407082536676e /staptree.h
parent05785c11dfdeaf11d98e7d65486a3870d00b5206 (diff)
downloadsystemtap-steved-20c6c071f5dfe6942438d97364e74f424217c94b.tar.gz
systemtap-steved-20c6c071f5dfe6942438d97364e74f424217c94b.tar.xz
systemtap-steved-20c6c071f5dfe6942438d97364e74f424217c94b.zip
2005-06-27 Graydon Hoare <graydon@redhat.com>
* staptree.{h,cxx} (probe_alias): New structure. * parse.{h,cxx} (parser::parse): Parse probes or probe aliases. (parser::parse_probe): Likewise. * tapsets.{h,cxx}: (derived_probe_builder): (match_key): (match_node): (alias_derived_probe): Move from here, * elaborate.{h,cxx}: to here. * elaborate.h (systemtap_session::pattern_root): New member. (register_library_aliases): New function. * tapsets.cxx: Build one dwarf_derived_probe per target address.
Diffstat (limited to 'staptree.h')
-rw-r--r--staptree.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/staptree.h b/staptree.h
index dd53c42e..8d55f053 100644
--- a/staptree.h
+++ b/staptree.h
@@ -356,10 +356,12 @@ struct next_statement: public statement
struct probe;
+struct probe_alias;
struct stapfile
{
std::string name;
std::vector<probe*> probes;
+ std::vector<probe_alias*> aliases;
std::vector<functiondecl*> functions;
std::vector<vardecl*> globals;
void print (std::ostream& o);
@@ -392,9 +394,18 @@ struct probe
std::vector<vardecl*> locals;
probe ();
void print (std::ostream& o);
- void printsig (std::ostream &o);
+ virtual void printsig (std::ostream &o);
+ virtual ~probe() {}
};
+struct probe_alias
+ : public probe
+{
+ probe_alias(std::vector<probe_point*> const & aliases);
+ std::vector<probe_point*> alias_names;
+ virtual void printsig (std::ostream &o);
+ virtual ~probe_alias() {}
+};
// An derived visitor instance is used to visit the entire