This is the mail archive of the
mailing list for the systemtap project.
Re: BZ#2421 - removing duplicate probe handlers
On Tue, Aug 01, 2006 at 01:36:38PM -0500, David Smith wrote:
> [...] As far as probes go, here I ran into conceptual problems.
> [...] The way the code generation currently works, it isn't going to
> be easy to merge a timer probe with a dwarf_derived_probe for
> example - all the needed information won't be there. [...] So, if
> we merge a begin probe and an end probe together, we're going to end
> up with either 2 begin probes or 2 end probes.
Maybe what we need is a slightly different representation of merging
here. What we want is not to eliminate all those derived_probes, but
rather to reuse the code generated for identical ->body trees. It is
those trees that are translated in c_unparser::emit_probe. That may
be the perfect place to detect/handle probe-level duplication.
(Instead of emitting new function body that duplicates one already
seen, it could emit a call to the first copy instead.)