diff options
author | graydon <graydon> | 2005-06-29 22:42:23 +0000 |
---|---|---|
committer | graydon <graydon> | 2005-06-29 22:42:23 +0000 |
commit | 20c6c071f5dfe6942438d97364e74f424217c94b (patch) | |
tree | 28e6a1a2dace1f2143ed16fb80f407082536676e /staptree.h | |
parent | 05785c11dfdeaf11d98e7d65486a3870d00b5206 (diff) | |
download | systemtap-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.h | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -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 |