This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

merge branch profile-stdlib


Hello libstdc++ maintainers,

I would like to merge the profile-stdlib branch into trunk.  I made
the changes requested by your previous reviews:
- Gave up on adding a runtime library.  The diagnostic implementation
was moved from profc++/ to include/profile/impl/.
- Reverted driver changes so that the interface is -D_GLIBCXX_DEBUG,
consistent with current extensions.
- Moved tests to proper locations and fixed failing unittests.  (There
are only 7 failures left in */synopsis.cc.)
- Uglified names.  I did this by placing all diagnostic implementation
under namespace __cxxprof_impl.  (Is this sufficient?)
- Added configure checks for execinfo.h.

Before I go with a fine comb, could you please take a look at the
branch and let me know if there are any other major issues?

The big picture organization is:
- All profile extension headers live in include/profile/.  They
include profile/base.h.
- All diagnostic implementations live in include/profile/impl/.  They
are included by profile/impl/profiler.h.
- profile/base.h includes profile/impl/profiler.h.  This is the only
direct connection between include/profile/ and include/profile/impl/.

The current known issues are:
- The relation with debug and parallel extensions has not been defined.
- We are using vector and unordered_map in the implementation, with
default allocators.  This can cause infinite cycles if say the
application code uses libstdc++ containers to gather allocation
statistics.
- The machine-specific performance model component is not on the
branch.  I decided to treat it as a separate component and add it
later.  The decisions are based on generic operation performance
ratios.
- Many diagnostics have not been implemented yet.
I don't think any of these issues is a show stopper and thus should
not keep the branch from being merged.


Thank you,
Silvius


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