This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/3] Convert probe interfaces to C++ (and perform some cleanups)


This patch series performs the conversion of the probe interfaces
(generic, stap and dtrace) to C++, along with a few cleanups here and
there to make the code conform better to our standards.

This series needs to be committed/tested as one single patch, because
of inter-dependencies.  However, in order to facilitate the review
process, I decided to split things into logical units.

The main changes are the conversion of 'struct probe' to 'class
probe', and 'struct probe_ops' to 'class static_probe_ops'.  Almost
everything else in the patches are adjustments related to these
modifications.

It's important to say that 'class probe' contains the majority of the
methods that were previously living inside 'struct probe_ops'.
However, some methods are special in the sense the they don't act on a
specific probe object, but generically on a probe type (like a
factory).  For that reason the 'class static_probe_ops' had to be
created.

Most methods in 'class probe' are pure virtual and need to be defined
by the probe backend (stap or dtrace, for now).  Other methods (e.g.,
the 'enable' method) are virtual but non-pure and have a default,
dummy version implemented on 'class probe' itself, because the concept
of enabling a probe is not common to all types of probes.

I've also taken the opportunity to convert a few uses of "VEC" to
"std::vector", and to remove annoying spurious newlines from some
places.

The whole patch has been tested on BuildBot, without regressions.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]