This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
merge branch profile-stdlib
- From: Silvius Rus <rus at google dot com>
- To: libstdc++ at gcc dot gnu dot org
- Cc: Paolo Carlini <paolo dot carlini at oracle dot com>, Benjamin Kosnik <bkoz at redhat dot com>
- Date: Tue, 2 Jun 2009 23:02:31 -0700
- Subject: 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