profile mode maintenance patch
François Dumont
frs.dumont@gmail.com
Mon May 12 20:15:00 GMT 2014
Hi
Here is a maintenance patch for profile mode. It does:
- Use inheritance to limit duplication of code in constructors to
register for the different profiling mode diagnostics data structure.
- Remove many code keeping only instrumented methods or methods that
where the container type itself appears in the signature..
- Extend the map to unordered_map to all ordered containers.
And of course code cleanup and usage of default implementation for
special methods as much as possible.
Regarding Makefile.in I miss last time. I moved to a new system
lately, a Ubuntu based one, and still need to find out what version of
automake/autoreconf I need to install. For the moment I have updated
Makefile.in manually.
2014-05-13 François Dumont <fdumont@gcc.gnu.org>
* include/profile/array: Clean useless white chars.
* include/profile/base.h: Likewise.
* include/profile/iterator_tracker.h: Likewise.
* include/profile/bitset: Code cleanup and remove not instrumented
code.
* include/profile/deque: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/list (std::__profile::_List_profile<>): New.
(std::__profile::list<>): Inherit from latter and adapt.
* include/profile/impl/profiler_map_to_unordered_map.h: Generalize
advise to match any ordered to unordered container conversion.
* include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
New.
* include/profile/map.h (std::__profile::map<>): Inherit from latter,
remove not instrumented code.
* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
* include/profile/set.h (std::__profile::set<>): Likewise.
* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
* include/profile/unordered_base.h: Add some line feed.
* include/profile/unordered_map: Clean useless white chars and replace
spaces with tabs.
* include/profile/unordered_set: Likewise.
* include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
(std::__profile::_Vector_profile_post<>): New.
(std::__profile::vector<>): Inherit from latter and adapt.
Tested under Linux x86_64 profile mode;
Ok to commit ?
François
-------------- next part --------------
A non-text attachment was scrubbed...
Name: profile.patch
Type: text/x-patch
Size: 169220 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20140512/a2fa6115/attachment.bin>
More information about the Libstdc++
mailing list