This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[v3] doxygen markup tweaks for profile mode
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Tue, 17 Nov 2009 12:50:12 -0800
- Subject: [v3] doxygen markup tweaks for profile mode
Same markup and linkage for both debug and profile mode.
Re-write guard bits, use __gnu_profile consistently as per __gnu_debug,
remove __cxxprof_impl.
tested x86_64/linux
tested x86_64/linux make check-profile
-benjamin
2009-11-17 Benjamin Kosnik <bkoz@redhat.com>
* include/profile/bitset: Tweak doxygen markup.
* include/profile/deque: Same.
* include/profile/list: Same.
* include/profile/map.h: Same.
* include/profile/multimap.h: Same.
* include/profile/multiset.h: Same.
* include/profile/set.h: Same.
* include/profile/unordered_map: Same.
* include/profile/vector: Same.
* include/profile/impl/profiler_container_size.h: Use namespace
__gnu_profile instead of __cxxprof_impl.
* include/profile/impl/profiler.h: Same.
(_GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD): To
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
Remove namespace __cxxprof_guard.
(__reentrance_guard): De-templatize.
(__reentrance_guard::__inside_cxxprof_impl): To
__reentrance_guard::_S_get_in.
* include/profile/impl/profiler_hash_func.h: Use namespace
__gnu_profile instead of __cxxprof_impl.
* include/profile/impl/profiler_hashtable_size.h: Same.
* include/profile/impl/profiler_map_to_unordered_map.h: Same.
* include/profile/impl/profiler_node.h: Same.
* include/profile/impl/profiler_state.h: Same.
* include/profile/impl/profiler_trace.h: Same.
* include/profile/impl/profiler_vector_size.h: Same.
* include/profile/impl/profiler_vector_to_list.h: Same.
* doc/xml/manual/profile_mode.xml: Update.
Index: doc/xml/manual/profile_mode.xml
===================================================================
--- doc/xml/manual/profile_mode.xml (revision 154268)
+++ doc/xml/manual/profile_mode.xml (working copy)
@@ -640,10 +640,10 @@
Hook names must start with <code>__profcxx_</code>.
Make sure they transform
in no code with <code>-D_NO_GLBICXX_PROFILE_MAGIC</code>.
- Make sure all calls to any method in namespace <code>__cxxprof_impl</code>
+ Make sure all calls to any method in namespace <code>__gnu_profile</code>
is protected against reentrance using macro
- <code>_GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD</code>.
- All names of methods in namespace <code>__cxxprof_impl</code> called from
+ <code>_GLIBCXX_PROFILE_REENTRANCE_GUARD</code>.
+ All names of methods in namespace <code>__gnu_profile</code> called from
<code>profiler.h</code> must start with <code>__trace_magic_</code>.
</para>
Index: include/profile/set.h
===================================================================
--- include/profile/set.h (revision 154268)
+++ include/profile/set.h (working copy)
@@ -35,7 +35,7 @@
{
namespace __profile
{
- /** @brief Set wrapper with performance instrumentation. */
+ /// Class std::set wrapper with performance instrumentation.
template<typename _Key, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<_Key> >
class set
Index: include/profile/unordered_map
===================================================================
--- include/profile/unordered_map (revision 154268)
+++ include/profile/unordered_map (working copy)
@@ -51,7 +51,7 @@
{
namespace __profile
{
- /** @brief Unordered_map wrapper with performance instrumentation. */
+ /// Class std::unordered_map wrapper with performance instrumentation.
template<typename _Key, typename _Tp,
typename _Hash = std::hash<_Key>,
typename _Pred = std::equal_to<_Key>,
@@ -275,12 +275,13 @@
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
{ __x.swap(__y); }
+
#undef _GLIBCXX_BASE
#undef _GLIBCXX_STD_BASE
#define _GLIBCXX_BASE unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>
#define _GLIBCXX_STD_BASE _GLIBCXX_STD_PR::_GLIBCXX_BASE
- /** @brief Unordered_multimap wrapper with performance instrumentation. */
+ /// Class std::unordered_multimap wrapper with performance instrumentation.
template<typename _Key, typename _Tp,
typename _Hash = std::hash<_Key>,
typename _Pred = std::equal_to<_Key>,
@@ -371,7 +372,8 @@
~unordered_multimap()
{
- __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size());
+ __profcxx_hashtable_destruct(this, _Base::bucket_count(),
+ _Base::size());
_M_profile_destruct();
}
@@ -385,7 +387,8 @@
void
clear()
{
- __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size());
+ __profcxx_hashtable_destruct(this, _Base::bucket_count(),
+ _Base::size());
_M_profile_destruct();
_Base::clear();
}
Index: include/profile/bitset
===================================================================
--- include/profile/bitset (revision 154268)
+++ include/profile/bitset (working copy)
@@ -35,7 +35,7 @@
{
namespace __profile
{
- /** @brief Bitset wrapper with performance instrumentation. */
+ /// Class std::bitset wrapper with performance instrumentation.
template<size_t _Nb>
class bitset
: public _GLIBCXX_STD_D::bitset<_Nb>
Index: include/profile/multiset.h
===================================================================
--- include/profile/multiset.h (revision 154268)
+++ include/profile/multiset.h (working copy)
@@ -35,7 +35,7 @@
{
namespace __profile
{
- /** @brief Multiset wrapper with performance instrumentation. */
+ /// Class std::multiset wrapper with performance instrumentation.
template<typename _Key, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<_Key> >
class multiset
Index: include/profile/impl/profiler_container_size.h
===================================================================
--- include/profile/impl/profiler_container_size.h (revision 154268)
+++ include/profile/impl/profiler_container_size.h (working copy)
@@ -51,7 +51,7 @@
#include "profile/impl/profiler_node.h"
#include "profile/impl/profiler_trace.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
/** @brief A container size instrumentation line in the object table. */
@@ -246,5 +246,5 @@
__object_info->__resize(__from, __to);
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_CONTAINER_SIZE_H__ */
Index: include/profile/impl/profiler_vector_size.h
===================================================================
--- include/profile/impl/profiler_vector_size.h (revision 154268)
+++ include/profile/impl/profiler_vector_size.h (working copy)
@@ -52,7 +52,7 @@
#include "profile/impl/profiler_state.h"
#include "profile/impl/profiler_container_size.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
/** @brief Hashtable size instrumentation trace producer. */
@@ -107,6 +107,6 @@
__tables<0>::_S_vector_size->__resize(__obj, __from, __to);
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_VECTOR_SIZE_H__ */
Index: include/profile/impl/profiler_hash_func.h
===================================================================
--- include/profile/impl/profiler_hash_func.h (revision 154268)
+++ include/profile/impl/profiler_hash_func.h (working copy)
@@ -50,7 +50,7 @@
#include "profile/impl/profiler_node.h"
#include "profile/impl/profiler_trace.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
/** @brief A hash performance instrumentation line in the object table. */
@@ -188,5 +188,5 @@
__tables<0>::_S_hash_func->__destruct(__obj, __chain, __accesses, __hops);
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_HASH_FUNC_H__ */
Index: include/profile/impl/profiler_trace.h
===================================================================
--- include/profile/impl/profiler_trace.h (revision 154268)
+++ include/profile/impl/profiler_trace.h (working copy)
@@ -63,7 +63,7 @@
#include "profile/impl/profiler_state.h"
#include "profile/impl/profiler_node.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
#if defined _GLIBCXX_PROFILE_THREADS && defined HAVE_TLS
@@ -367,7 +367,7 @@
if (__it->second.__is_valid()) {
fprintf(__f, __id);
fprintf(__f, "|");
- __cxxprof_impl::__write(__f, __it->first);
+ __gnu_profile::__write(__f, __it->first);
fprintf(__f, "|");
__it->second.__write(__f);
}
@@ -428,7 +428,7 @@
fprintf(__file, __info.__warning_id);
fprintf(__file, ": improvement = %d", __log_magnitude(__info.__magnitude));
fprintf(__file, ": call stack = ");
- __cxxprof_impl::__write(__file, __info.__context);
+ __gnu_profile::__write(__file, __info.__context);
fprintf(__file, ": advice = %s\n", __info.__warning_message);
}
};
@@ -457,7 +457,7 @@
* This can also be called directly by user code, including signal handlers.
* It is protected against deadlocks by the reentrance guard in profiler.h.
* However, when called from a signal handler that triggers while within
- * __cxxprof_impl (under the guarded zone), no output will be produced.
+ * __gnu_profile (under the guarded zone), no output will be produced.
*/
inline void __report(void)
{
@@ -559,6 +559,6 @@
return __is_on();
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_TRACE_H__ */
Index: include/profile/impl/profiler_vector_to_list.h
===================================================================
--- include/profile/impl/profiler_vector_to_list.h (revision 154268)
+++ include/profile/impl/profiler_vector_to_list.h (working copy)
@@ -50,7 +50,7 @@
#include "profile/impl/profiler_node.h"
#include "profile/impl/profiler_trace.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
/** @brief A vector-to-list instrumentation line in the object table. */
@@ -314,5 +314,5 @@
__tables<0>::_S_vector_to_list->__resize(__obj, __from, __to);
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_VECTOR_TO_LIST_H__ */
Index: include/profile/impl/profiler.h
===================================================================
--- include/profile/impl/profiler.h (revision 154268)
+++ include/profile/impl/profiler.h (working copy)
@@ -44,91 +44,83 @@
#endif
/**
- * @namespace std::__cxxprof_guard
- * @brief Mechanism to protect all __cxxprof_impl operations against
- * multithreaded and exception reentrance.
+ * @namespace std::__gnu_profile
+ * @brief Implementation of profile extension.
*/
-namespace __cxxprof_guard
+namespace __gnu_profile
{
+ /** @brief Reentrance guard.
+ *
+ * Mechanism to protect all __gnu_profile operations against recursion,
+ * multithreaded and exception reentrance.
+ */
+ struct __reentrance_guard
+ {
+ static bool
+ _S_set_in()
+ {
+ if (_S_get_in())
+ return false;
+ else
+ {
+ _S_get_in() = true;
+ return true;
+ }
+ }
-/** @brief Reentrance guard.
- *
- * Mechanism to protect all __cxxprof_impl operations against recursion,
- * multithreaded and exception reentrance.
- */
-template <int _Unused=0>
-class __reentrance_guard
-{
- public:
- static __thread bool __inside_cxxprof_impl;
- static bool __get_in();
- __reentrance_guard() {}
- ~__reentrance_guard() { __inside_cxxprof_impl = false; }
-};
+ static bool&
+ _S_get_in()
+ {
+ static __thread bool _S_inside(false);
+ return _S_inside;
+ }
-template <int _Unused>
-__thread bool __reentrance_guard<_Unused>::__inside_cxxprof_impl = false;
+ __reentrance_guard() { }
+ ~__reentrance_guard() { _S_get_in() = false; }
+ };
-template <int _Unused>
-bool __reentrance_guard<_Unused>::__get_in()
-{
- if (__inside_cxxprof_impl) {
- return false;
- } else {
- __inside_cxxprof_impl = true;
- return true;
+#define _GLIBCXX_PROFILE_REENTRANCE_GUARD(__x...) \
+ { \
+ if (__gnu_profile::__reentrance_guard::_S_get_in()) \
+ { \
+ __gnu_profile::__reentrance_guard __get_out; \
+ __x; \
+ } \
}
-}
-} // namespace __cxxprof_guard
-#define _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__x...) \
- { \
- if (__cxxprof_guard::__reentrance_guard<0>::__get_in()) \
- { \
- __cxxprof_guard::__reentrance_guard<0> __auto_get_out; \
- __x; \
- } \
- }
+ // Forward declarations of implementation functions.
+ // Don't use any __gnu_profile:: in user code.
+ // Instead, use the __profcxx... macros, which offer guarded access.
+ void __turn_on();
+ void __turn_off();
+ bool __is_invalid();
+ bool __is_on();
+ bool __is_off();
+ void __report(void);
+ void __trace_hashtable_size_resize(const void*, size_t, size_t);
+ void __trace_hashtable_size_destruct(const void*, size_t, size_t);
+ void __trace_hashtable_size_construct(const void*, size_t);
+ void __trace_vector_size_resize(const void*, size_t, size_t);
+ void __trace_vector_size_destruct(const void*, size_t, size_t);
+ void __trace_vector_size_construct(const void*, size_t);
+ void __trace_hash_func_destruct(const void*, size_t, size_t, size_t);
+ void __trace_hash_func_construct(const void*);
+ void __trace_vector_to_list_destruct(const void*);
+ void __trace_vector_to_list_construct(const void*);
+ void __trace_vector_to_list_insert(const void*, size_t, size_t);
+ void __trace_vector_to_list_iterate(const void*, size_t);
+ void __trace_vector_to_list_invalid_operator(const void*);
+ void __trace_vector_to_list_resize(const void*, size_t, size_t);
+ void __trace_map_to_unordered_map_construct(const void*);
+ void __trace_map_to_unordered_map_invalidate(const void*);
+ void __trace_map_to_unordered_map_insert(const void*, size_t, size_t);
+ void __trace_map_to_unordered_map_erase(const void*, size_t, size_t);
+ void __trace_map_to_unordered_map_iterate(const void*, size_t);
+ void __trace_map_to_unordered_map_find(const void*, size_t);
+ void __trace_map_to_unordered_map_destruct(const void*);
+} // namespace __gnu_profile
-/**
- * @namespace std::__cxxprof_impl
- * @brief Implementation of profile extension.
- */
-namespace __cxxprof_impl
-{
-// Forward declarations of implementation functions.
-// Don't use any __cxxprof_impl:: in user code.
-// Instead, use the __profcxx... macros, which offer guarded access.
-void __turn_on();
-void __turn_off();
-bool __is_invalid();
-bool __is_on();
-bool __is_off();
-void __report(void);
-void __trace_hashtable_size_resize(const void*, size_t, size_t);
-void __trace_hashtable_size_destruct(const void*, size_t, size_t);
-void __trace_hashtable_size_construct(const void*, size_t);
-void __trace_vector_size_resize(const void*, size_t, size_t);
-void __trace_vector_size_destruct(const void*, size_t, size_t);
-void __trace_vector_size_construct(const void*, size_t);
-void __trace_hash_func_destruct(const void*, size_t, size_t, size_t);
-void __trace_hash_func_construct(const void*);
-void __trace_vector_to_list_destruct(const void*);
-void __trace_vector_to_list_construct(const void*);
-void __trace_vector_to_list_insert(const void*, size_t, size_t);
-void __trace_vector_to_list_iterate(const void*, size_t);
-void __trace_vector_to_list_invalid_operator(const void*);
-void __trace_vector_to_list_resize(const void*, size_t, size_t);
-void __trace_map_to_unordered_map_construct(const void*);
-void __trace_map_to_unordered_map_invalidate(const void*);
-void __trace_map_to_unordered_map_insert(const void*, size_t, size_t);
-void __trace_map_to_unordered_map_erase(const void*, size_t, size_t);
-void __trace_map_to_unordered_map_iterate(const void*, size_t);
-void __trace_map_to_unordered_map_find(const void*, size_t);
-void __trace_map_to_unordered_map_destruct(const void*);
-} // namespace __cxxprof_impl
-
// Master switch turns on all diagnostics.
#ifdef _GLIBCXX_PROFILE
#define _GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL
@@ -143,17 +135,17 @@
// Expose global management routines to user code.
#ifdef _GLIBCXX_PROFILE
#define __profcxx_report() \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__cxxprof_impl::__report())
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD(__gnu_profile::__report())
#define __profcxx_turn_on() \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__cxxprof_impl::__turn_on())
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD(__gnu_profile::__turn_on())
#define __profcxx_turn_off() \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__cxxprof_impl::__turn_off())
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD(__gnu_profile::__turn_off())
#define __profcxx_is_invalid() \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__cxxprof_impl::__is_invalid())
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD(__gnu_profile::__is_invalid())
#define __profcxx_is_on() \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__cxxprof_impl::__is_on())
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD(__gnu_profile::__is_on())
#define __profcxx__is_off() \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD(__cxxprof_impl::__is_off())
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD(__gnu_profile::__is_off())
#else
#define __profcxx_report()
#define __profcxx_turn_on()
@@ -167,77 +159,77 @@
#if ((defined(_GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL) \
&& !defined(_NO_GLIBCXX_PROFILE_HASHTABLE_TOO_SMALL)) \
|| (defined(_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE) \
- && !defined(_NO_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE)))
+ && !defined(_NO_GLIBCXX_PROFILE_HASHTABLE_TOO_LARGE)))
#define __profcxx_hashtable_resize(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_hashtable_size_resize(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_hashtable_size_resize(__x))
#define __profcxx_hashtable_destruct(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_hashtable_size_destruct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_hashtable_size_destruct(__x))
#define __profcxx_hashtable_construct(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_hashtable_size_construct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_hashtable_size_construct(__x))
#else
-#define __profcxx_hashtable_resize(__x...)
-#define __profcxx_hashtable_destruct(__x...)
-#define __profcxx_hashtable_construct(__x...)
+#define __profcxx_hashtable_resize(__x...)
+#define __profcxx_hashtable_destruct(__x...)
+#define __profcxx_hashtable_construct(__x...)
#endif
// Turn on/off instrumentation for VECTOR_TOO_SMALL and VECTOR_TOO_LARGE.
#if ((defined(_GLIBCXX_PROFILE_VECTOR_TOO_SMALL) \
&& !defined(_NO_GLIBCXX_PROFILE_VECTOR_TOO_SMALL)) \
|| (defined(_GLIBCXX_PROFILE_VECTOR_TOO_LARGE) \
- && !defined(_NO_GLIBCXX_PROFILE_VECTOR_TOO_LARGE)))
+ && !defined(_NO_GLIBCXX_PROFILE_VECTOR_TOO_LARGE)))
#define __profcxx_vector_resize(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_size_resize(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_size_resize(__x))
#define __profcxx_vector_destruct(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_size_destruct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_size_destruct(__x))
#define __profcxx_vector_construct(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_size_construct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_size_construct(__x))
#else
-#define __profcxx_vector_resize(__x...)
-#define __profcxx_vector_destruct(__x...)
-#define __profcxx_vector_construct(__x...)
-#endif
+#define __profcxx_vector_resize(__x...)
+#define __profcxx_vector_destruct(__x...)
+#define __profcxx_vector_construct(__x...)
+#endif
// Turn on/off instrumentation for INEFFICIENT_HASH.
#if (defined(_GLIBCXX_PROFILE_INEFFICIENT_HASH) \
&& !defined(_NO_GLIBCXX_PROFILE_INEFFICIENT_HASH))
#define __profcxx_hashtable_construct2(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_hash_func_construct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_hash_func_construct(__x))
#define __profcxx_hashtable_destruct2(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_hash_func_destruct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_hash_func_destruct(__x))
#else
-#define __profcxx_hashtable_destruct2(__x...)
-#define __profcxx_hashtable_construct2(__x...)
+#define __profcxx_hashtable_destruct2(__x...)
+#define __profcxx_hashtable_construct2(__x...)
#endif
// Turn on/off instrumentation for VECTOR_TO_LIST.
#if (defined(_GLIBCXX_PROFILE_VECTOR_TO_LIST) \
&& !defined(_NO_GLIBCXX_PROFILE_VECTOR_TO_LIST))
#define __profcxx_vector_construct2(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_to_list_construct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_to_list_construct(__x))
#define __profcxx_vector_destruct2(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_to_list_destruct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_to_list_destruct(__x))
#define __profcxx_vector_insert(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_to_list_insert(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_to_list_insert(__x))
#define __profcxx_vector_iterate(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_to_list_iterate(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_to_list_iterate(__x))
#define __profcxx_vector_invalid_operator(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_to_list_invalid_operator(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_to_list_invalid_operator(__x))
#define __profcxx_vector_resize2(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_vector_to_list_resize(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_vector_to_list_resize(__x))
#else
#define __profcxx_vector_destruct2(__x...)
#define __profcxx_vector_construct2(__x...)
@@ -251,29 +243,29 @@
#if (defined(_GLIBCXX_PROFILE_MAP_TO_UNORDERED_MAP) \
&& !defined(_NO_GLIBCXX_PROFILE_MAP_TO_UNORDERED_MAP))
#define __profcxx_map_to_unordered_map_construct(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_construct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_construct(__x))
#define __profcxx_map_to_unordered_map_destruct(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_destruct(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_destruct(__x))
#define __profcxx_map_to_unordered_map_insert(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_insert(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_insert(__x))
#define __profcxx_map_to_unordered_map_erase(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_erase(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_erase(__x))
#define __profcxx_map_to_unordered_map_iterate(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_iterate(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_iterate(__x))
#define __profcxx_map_to_unordered_map_invalidate(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_invalidate(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_invalidate(__x))
#define __profcxx_map_to_unordered_map_find(__x...) \
- _GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD( \
- __cxxprof_impl::__trace_map_to_unordered_map_find(__x))
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD( \
+ __gnu_profile::__trace_map_to_unordered_map_find(__x))
#else
#define __profcxx_map_to_unordered_map_construct(__x...) \
-
+
#define __profcxx_map_to_unordered_map_destruct(__x...)
#define __profcxx_map_to_unordered_map_insert(__x...)
#define __profcxx_map_to_unordered_map_erase(__x...)
Index: include/profile/impl/profiler_state.h
===================================================================
--- include/profile/impl/profiler_state.h (revision 154268)
+++ include/profile/impl/profiler_state.h (working copy)
@@ -43,7 +43,7 @@
#include <stdio.h>
#endif
-namespace __cxxprof_impl
+namespace __gnu_profile
{
/** @brief Profiling mode on/off state. */
@@ -103,5 +103,5 @@
__state<0>::_S_diag_state->__turn_off();
}
-} // end namespace __cxxprof_impl
+} // end namespace __gnu_profile
#endif /* PROFCXX_PROFILER_STATE_H__ */
Index: include/profile/impl/profiler_map_to_unordered_map.h
===================================================================
--- include/profile/impl/profiler_map_to_unordered_map.h (revision 154268)
+++ include/profile/impl/profiler_map_to_unordered_map.h (working copy)
@@ -50,7 +50,7 @@
#include "profile/impl/profiler_node.h"
#include "profile/impl/profiler_trace.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
// Cost model. XXX: this must be taken from the machine model instead.
@@ -301,5 +301,5 @@
if (__info) __info->__record_invalidate();
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_MAP_TO_UNORDERED_MAP_H__ */
Index: include/profile/impl/profiler_hashtable_size.h
===================================================================
--- include/profile/impl/profiler_hashtable_size.h (revision 154268)
+++ include/profile/impl/profiler_hashtable_size.h (working copy)
@@ -52,7 +52,7 @@
#include "profile/impl/profiler_state.h"
#include "profile/impl/profiler_container_size.h"
-namespace __cxxprof_impl
+namespace __gnu_profile
{
/** @brief Hashtable size instrumentation trace producer. */
@@ -110,6 +110,6 @@
__tables<0>::_S_hashtable_size->__resize(__obj, __from, __to);
}
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_HASHTABLE_SIZE_H__ */
Index: include/profile/impl/profiler_node.h
===================================================================
--- include/profile/impl/profiler_node.h (revision 154268)
+++ include/profile/impl/profiler_node.h (working copy)
@@ -51,7 +51,7 @@
#include <execinfo.h>
#endif
-namespace __cxxprof_impl
+namespace __gnu_profile
{
typedef const void* __object_t;
typedef void* __instruction_address_t;
@@ -168,5 +168,5 @@
virtual const char* __get_id() const = 0;
};
-} // namespace __cxxprof_impl
+} // namespace __gnu_profile
#endif /* PROFCXX_PROFILER_NODE_H__ */
Index: include/profile/vector
===================================================================
--- include/profile/vector (revision 154268)
+++ include/profile/vector (working copy)
@@ -42,7 +42,7 @@
{
namespace __profile
{
- /** @brief Vector wrapper with performance instrumentation. */
+ /// Class std::vector wrapper with performance instrumentation.
template<typename _Tp,
typename _Allocator = std::allocator<_Tp> >
class vector
Index: include/profile/map.h
===================================================================
--- include/profile/map.h (revision 154268)
+++ include/profile/map.h (working copy)
@@ -41,7 +41,7 @@
{
namespace __profile
{
- /** @brief Map wrapper with performance instrumentation. */
+ /// Class std::map wrapper with performance instrumentation.
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
class map
Index: include/profile/deque
===================================================================
--- include/profile/deque (revision 154268)
+++ include/profile/deque (working copy)
@@ -35,7 +35,7 @@
{
namespace __profile
{
- /** @brief Deque wrapper with performance instrumentation. */
+ /// Class std::deque wrapper with performance instrumentation.
template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
class deque
: public _GLIBCXX_STD_D::deque<_Tp, _Allocator>
Index: include/profile/list
===================================================================
--- include/profile/list (revision 154268)
+++ include/profile/list (working copy)
@@ -35,7 +35,7 @@
{
namespace __profile
{
- /** @brief List wrapper with performance instrumentation. */
+ /// Class std::list wrapper with performance instrumentation.
template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
class list
: public _GLIBCXX_STD_D::list<_Tp, _Allocator>
Index: include/profile/multimap.h
===================================================================
--- include/profile/multimap.h (revision 154268)
+++ include/profile/multimap.h (working copy)
@@ -35,7 +35,7 @@
{
namespace __profile
{
- /** @brief Multimap wrapper with performance instrumentation. */
+ /// Class std::multimap wrapper with performance instrumentation.
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
class multimap
Index: ChangeLog
===================================================================
--- ChangeLog (revision 154268)
+++ ChangeLog (working copy)
@@ -1,5 +1,38 @@
2009-11-17 Benjamin Kosnik <bkoz@redhat.com>
+ * include/profile/bitset: Tweak doxygen markup.
+ * include/profile/deque: Same.
+ * include/profile/list: Same.
+ * include/profile/map.h: Same.
+ * include/profile/multimap.h: Same.
+ * include/profile/multiset.h: Same.
+ * include/profile/set.h: Same.
+ * include/profile/unordered_map: Same.
+ * include/profile/vector: Same.
+
+ * include/profile/impl/profiler_container_size.h: Use namespace
+ __gnu_profile instead of __cxxprof_impl.
+ * include/profile/impl/profiler.h: Same.
+ (_GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD): To
+ _GLIBCXX_PROFILE_REENTRANCE_GUARD.
+ Remove namespace __cxxprof_guard.
+ (__reentrance_guard): De-templatize.
+ (__reentrance_guard::__inside_cxxprof_impl): To
+ __reentrance_guard::_S_get_in.
+
+ * include/profile/impl/profiler_hash_func.h: Use namespace
+ __gnu_profile instead of __cxxprof_impl.
+ * include/profile/impl/profiler_hashtable_size.h: Same.
+ * include/profile/impl/profiler_map_to_unordered_map.h: Same.
+ * include/profile/impl/profiler_node.h: Same.
+ * include/profile/impl/profiler_state.h: Same.
+ * include/profile/impl/profiler_trace.h: Same.
+ * include/profile/impl/profiler_vector_size.h: Same.
+ * include/profile/impl/profiler_vector_to_list.h: Same.
+ * doc/xml/manual/profile_mode.xml: Update.
+
+2009-11-17 Benjamin Kosnik <bkoz@redhat.com>
+
* include/debug/bitset: Add doxygen markup.
* include/debug/deque: Same.
* include/debug/list: Same.