summaryrefslogtreecommitdiffstats
path: root/elaborate.cxx
diff options
context:
space:
mode:
authordsmith <dsmith>2006-09-08 13:05:49 +0000
committerdsmith <dsmith>2006-09-08 13:05:49 +0000
commit46b84a80a83501d9a83856c255b74100be1717b9 (patch)
tree7121d1f95e6f23e15736b5a8511c9a745eee6bdf /elaborate.cxx
parent4b5f3e450724431c52c100143d859846f4009329 (diff)
downloadsystemtap-steved-46b84a80a83501d9a83856c255b74100be1717b9.tar.gz
systemtap-steved-46b84a80a83501d9a83856c255b74100be1717b9.tar.xz
systemtap-steved-46b84a80a83501d9a83856c255b74100be1717b9.zip
2006-09-08 David Smith <dsmith@redhat.com>
* elaborate.h (struct derived_probe): Replace emit_registrations() function with emit_registrations_start() and emit_registrations_end(). (struct derived_probe_group): Added emit_module_init(). (struct derived_probe_group_container): Added emit_module_init(), emit_module_init_call(), and emit_module_exit(). * elaborate.cxx (struct alias_derived_probe): Updated emit_regitrations calls. * translate.cxx (emit_module_init): Instead of actually emitting per-probe-point registrations/unregistrations, let the session's derived_probe_group_container do it. * tapsets.cxx (emit_probe_timing): New function that handles probe timing code. (be_derived_probe::emit_registrations_start): Renamed from emit_registrations. (be_derived_probe_group::emit_module_init): New function that outputs probes create and destroy functions. (dwarf_derived_probe::emit_registrations): Removed, but most code moved to emit_registrations_start(). (dwarf_derived_probe::emit_registrations_start): Handles details of multiple dwarf probe registrations. (dwarf_derived_probe::emit_registrations_end): Handles cleanup details of multiple dwarf probe registrations. (dwarf_derived_probe_group::emit_module_init): New function that outputs probes create and destroy functions. (timer_derived_probe::emit_registrations_start): Renamed from emit_registrations. Added mutiple probe handling. (timer_derived_probe::emit_registrations_end): Handles cleanup details of multiple probe registrations. (timer_derived_probe_group::emit_module_init): New function that outputs probes create and destroy functions. (profile_derived_probe::emit_registrations_start): Renamed from emit_registrations. Added mutiple probe handling. (profile_derived_probe::emit_registrations_end): Handles cleanup details of multiple probe registrations. (profile_derived_probe_group::emit_module_init): New function that outputs probes create and destroy functions. (mark_derived_probe::emit_registrations_start): Renamed from emit_registrations. Added mutiple probe handling. (mark_derived_probe::emit_registrations_end): Handles cleanup details of multiple probe registrations. (mark_derived_probe_group::emit_module_init): New function that outputs probes create and destroy functions. (hrtimer_derived_probe::emit_registrations_start): Renamed from emit_registrations. Added mutiple probe handling. (hrtimer_derived_probe::emit_registrations_end): Dummy function. (hrtimer_derived_probe_group::emit_module_init): New function that outputs probes create and destroy functions. (derived_probe_group_container::emit_module_init): Added function to call all probe group's emit_module_int functions. (derived_probe_group_container::emit_module_init_call): Added function to handle probe group initialization cleanup. (derived_probe_group_container::emit_module_exit): Added function to handle probe group cleanup.
Diffstat (limited to 'elaborate.cxx')
-rw-r--r--elaborate.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/elaborate.cxx b/elaborate.cxx
index 3fa5dda0..25c223ec 100644
--- a/elaborate.cxx
+++ b/elaborate.cxx
@@ -387,7 +387,8 @@ struct alias_derived_probe: public derived_probe
// alias probes should be ultimately expanded to other derived_probe
// types, and not themselves emitted.
- void emit_registrations (translator_output* o) { throw semantic_error ("inappropriate", this->tok); }
+ void emit_registrations_start (translator_output* o, unsigned index) { throw semantic_error ("inappropriate", this->tok); }
+ void emit_registrations_end (translator_output* o, unsigned index) { throw semantic_error ("inappropriate", this->tok); }
void emit_deregistrations (translator_output* o) { throw semantic_error ("inappropriate", this->tok); }
void emit_probe_entries (translator_output* o) { throw semantic_error ("inappropriate", this->tok); }
};