GNU profile code for public use. More...
Classes | |
class | __container_size_info |
A container size instrumentation line in the object table. More... | |
class | __container_size_stack_info |
A container size instrumentation line in the stack table. More... | |
struct | __cost_factor |
struct | __cost_factor_setter |
struct | __cost_factor_writer |
class | __hashfunc_info |
A hash performance instrumentation line in the object table. More... | |
class | __hashfunc_stack_info |
A hash performance instrumentation line in the stack table. More... | |
class | __list2slist_info |
class | __list2slist_stack_info |
class | __list2vector_info |
A list-to-vector instrumentation line in the object table. More... | |
class | __list2vector_stack_info |
class | __map2umap_info |
A map-to-unordered_map instrumentation line in the object table. More... | |
class | __map2umap_stack_info |
A map-to-unordered_map instrumentation line in the stack table. More... | |
class | __object_info_base |
Base class for a line in the object table. More... | |
struct | __reentrance_guard |
Reentrance guard. More... | |
class | __stack_hash |
Hash function for summary trace using call stack as index. More... | |
class | __trace_base |
Base class for all trace producers. More... | |
class | __trace_container_size |
Container size instrumentation trace producer. More... | |
class | __trace_hash_func |
Hash performance instrumentation producer. More... | |
class | __trace_hashtable_size |
Hashtable size instrumentation trace producer. More... | |
class | __trace_list_to_slist |
class | __trace_list_to_vector |
class | __trace_map2umap |
Map-to-unordered_map instrumentation producer. More... | |
class | __trace_vector_size |
Hashtable size instrumentation trace producer. More... | |
class | __trace_vector_to_list |
Vector-to-list instrumentation producer. More... | |
class | __vector2list_info |
A vector-to-list instrumentation line in the object table. More... | |
class | __vector2list_stack_info |
A vector-to-list instrumentation line in the stack table. More... | |
struct | __warn |
struct | __warning_data |
Representation of a warning. More... | |
Typedefs | |
typedef std::_GLIBCXX_STD_C::vector< __cost_factor * > | __cost_factor_vector |
typedef std::tr1::unordered_map< std::string, std::string > | __env_t |
Internal environment. More... | |
typedef void * | __instruction_address_t |
typedef std::_GLIBCXX_STD_C::vector< __instruction_address_t > | __stack_npt |
typedef __stack_npt * | __stack_t |
typedef std::_GLIBCXX_STD_C::vector< __warning_data > | __warning_vector_t |
Enumerations | |
enum | __state_type { __ON, __OFF, __INVALID } |
GNU profile code for public use.
typedef std::_GLIBCXX_STD_C::vector<__cost_factor*> __gnu_profile::__cost_factor_vector |
typedef std::tr1::unordered_map<std::string, std::string> __gnu_profile::__env_t |
Internal environment.
Values can be set one of two ways:
typedef void* __gnu_profile::__instruction_address_t |
typedef std::_GLIBCXX_STD_C::vector<__instruction_address_t> __gnu_profile::__stack_npt |
typedef __stack_npt* __gnu_profile::__stack_t |
typedef std::_GLIBCXX_STD_C::vector<__warning_data> __gnu_profile::__warning_vector_t |
|
inline |
Referenced by __set_max_mem(), and __set_max_stack_trace_depth().
_Function __gnu_profile::__for_each | ( | _InputIterator | __first, |
_InputIterator | __last, | ||
_Function | __f | ||
) |
Referenced by __report(), __set_cost_factors(), and __write_cost_factors().
|
inline |
References __catch, __stack_max_depth(), and __try.
Referenced by __trace_hash_func_construct(), __trace_hashtable_size_construct(), __trace_list_to_slist_construct(), __trace_list_to_vector_construct(), __trace_map_to_unordered_map_construct(), __trace_vector_size_construct(), and __trace_vector_to_list_construct().
void __gnu_profile::__insert_top_n | ( | _Container & | __output, |
const typename _Container::value_type & | __value, | ||
typename _Container::size_type | __n | ||
) |
|
inline |
References __INVALID, and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init(), and __profcxx_init_unconditional().
|
inline |
References __OFF, and _GLIBCXX_PROFILE_DATA.
|
inline |
References __ON, and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init().
|
inline |
Referenced by __map_erase_cost(), __map_find_cost(), and __map_insert_cost().
|
inline |
|
inline |
References __log2(), and _GLIBCXX_PROFILE_DATA.
Referenced by __gnu_profile::__map2umap_info::__record_erase().
|
inline |
References __log2(), and _GLIBCXX_PROFILE_DATA.
Referenced by __gnu_profile::__map2umap_info::__record_find().
|
inline |
References __log2(), and _GLIBCXX_PROFILE_DATA.
Referenced by __gnu_profile::__map2umap_info::__record_insert().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __gnu_profile::__trace_base< __object_info, __stack_info >::__add_object(), and __gnu_profile::__trace_base< __object_info, __stack_info >::__retire_object().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report(), __set_trace_path(), and __write_cost_factors().
|
inline |
This function must be called by each instrumentation point.
The common path is inlined fully.
References __is_invalid(), __is_on(), and __profcxx_init_unconditional().
Referenced by __trace_hash_func_construct(), __trace_hashtable_size_construct(), __trace_list_to_slist_construct(), __trace_list_to_vector_construct(), __trace_map_to_unordered_map_construct(), __trace_vector_size_construct(), and __trace_vector_to_list_construct().
|
inline |
References __is_invalid(), __read_cost_factors(), __report_and_free(), __set_cost_factors(), __set_max_mem(), __set_max_stack_trace_depth(), __set_max_warn_count(), __set_trace_path(), __trace_hash_func_init(), __trace_hashtable_size_init(), __trace_list_to_slist_init(), __trace_list_to_vector_init(), __trace_map_to_unordered_map_init(), __trace_vector_size_init(), __trace_vector_to_list_init(), __turn_off(), __turn_on(), __write_cost_factors(), and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init().
|
inline |
References __remove(), and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
_ForwardIterator __gnu_profile::__remove | ( | _ForwardIterator | __first, |
_ForwardIterator | __last, | ||
const _Tp & | __value | ||
) |
|
inline |
Final report method, registered with atexit.
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 __gnu_profile (under the guarded zone), no output will be produced.
References __for_each(), __open_output_file(), __top_n(), __trace_hash_func_report(), __trace_hashtable_size_report(), __trace_list_to_slist_report(), __trace_list_to_vector_report(), __trace_map_to_unordered_map_report(), __trace_vector_size_report(), __trace_vector_to_list_report(), _GLIBCXX_PROFILE_DATA, and __gnu_parallel::min().
Referenced by __report_and_free().
|
inline |
References __report(), __trace_hash_func_free(), __trace_hashtable_size_free(), __trace_list_to_slist_free(), __trace_list_to_vector_free(), __trace_map_to_unordered_map_free(), __trace_vector_size_free(), __trace_vector_to_list_free(), and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __for_each(), and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __env_to_size_t(), _GLIBCXX_PROFILE_DATA, and _GLIBCXX_PROFILE_MEM_PER_DIAGNOSTIC_ENV_VAR.
Referenced by __profcxx_init_unconditional().
|
inline |
References __env_to_size_t(), _GLIBCXX_PROFILE_DATA, and _GLIBCXX_PROFILE_MAX_STACK_DEPTH_ENV_VAR.
Referenced by __profcxx_init_unconditional().
|
inline |
References _GLIBCXX_PROFILE_DATA, and _GLIBCXX_PROFILE_MAX_WARN_COUNT_ENV_VAR.
Referenced by __profcxx_init_unconditional().
|
inline |
References __open_output_file(), _GLIBCXX_PROFILE_DATA, and _GLIBCXX_PROFILE_TRACE_ENV_VAR.
Referenced by __profcxx_init_unconditional().
|
inline |
Referenced by __gnu_parallel::__parallel_set_operation(), __gnu_parallel::__parallel_unique_copy(), __gnu_profile::__trace_base< __object_info, __stack_info >::__retire_object(), _GLIBCXX_VISIBILITY(), and __gnu_parallel::parallel_sort_mwms().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __get_stack().
void __gnu_profile::__top_n | ( | const _Container & | __input, |
_Container & | __output, | ||
typename _Container::size_type | __n | ||
) |
References __insert_top_n().
Referenced by __report().
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
References __gnu_profile::__container_size_info::__resize().
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __gnu_profile::__list2slist_info::__record_operation().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
References __gnu_profile::__list2slist_info::__opr_rewind().
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __gnu_profile::__list2vector_info::__opr_insert().
|
inline |
References __gnu_profile::__object_info_base::__set_invalid().
|
inline |
References __gnu_profile::__list2vector_info::__opr_iterate().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References __gnu_profile::__map2umap_info::__record_erase().
|
inline |
References __gnu_profile::__map2umap_info::__record_find().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __gnu_profile::__map2umap_info::__record_insert().
|
inline |
References __gnu_profile::__object_info_base::__set_invalid().
void __gnu_profile::__trace_map_to_unordered_map_iterate | ( | __map2umap_info * | , |
std::size_t | |||
) |
|
inline |
References __gnu_profile::__map2umap_info::__record_iterate().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
References __gnu_profile::__trace_base< __object_info, __stack_info >::__collect_warnings(), and __gnu_profile::__trace_base< __object_info, __stack_info >::__write().
Referenced by __trace_hash_func_report(), __trace_hashtable_size_report(), __trace_list_to_slist_report(), __trace_list_to_vector_report(), __trace_map_to_unordered_map_report(), __trace_vector_size_report(), and __trace_vector_to_list_report().
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
References __gnu_profile::__container_size_info::__resize().
|
inline |
References __gnu_profile::__reentrance_guard::__get_in(), __get_stack(), __profcxx_init(), and _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __report_and_free().
|
inline |
References _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
|
inline |
References __gnu_profile::__vector2list_info::__opr_insert().
|
inline |
References __gnu_profile::__object_info_base::__set_invalid().
|
inline |
References __gnu_profile::__vector2list_info::__opr_iterate().
|
inline |
References __trace_report(), and _GLIBCXX_PROFILE_DATA.
Referenced by __report().
|
inline |
|
inline |
References __INVALID, and _GLIBCXX_PROFILE_DATA.
Referenced by __turn_off(), and __turn_on().
|
inline |
References __OFF, and __turn().
Referenced by __profcxx_init_unconditional().
|
inline |
References __ON, and __turn().
Referenced by __profcxx_init_unconditional().
|
inline |
Referenced by __gnu_profile::__trace_base< __object_info, __stack_info >::__write(), and __gnu_profile::__warn::operator()().
|
inline |
References __for_each(), __open_output_file(), and _GLIBCXX_PROFILE_DATA.
Referenced by __profcxx_init_unconditional().
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __state_type | , |
__state | , | ||
__INVALID | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_hash_func * | , |
_S_hash_func | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_hashtable_size * | , |
_S_hashtable_size | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_map2umap * | , |
_S_map2umap | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_vector_size * | , |
_S_vector_size | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_vector_to_list * | , |
_S_vector_to_list | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_list_to_slist * | , |
_S_list_to_slist | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __trace_list_to_vector * | , |
_S_list_to_vector | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__vector_shift_cost_factor | , | ||
{"__vector_shift_cost_factor", 1.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__vector_iterate_cost_factor | , | ||
{"__vector_iterate_cost_factor", 1.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__vector_resize_cost_factor | , | ||
{"__vector_resize_cost_factor", 1.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__list_shift_cost_factor | , | ||
{"__list_shift_cost_factor", 0.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__list_iterate_cost_factor | , | ||
{"__list_iterate_cost_factor", 10.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__list_resize_cost_factor | , | ||
{"__list_resize_cost_factor", 0.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__map_insert_cost_factor | , | ||
{"__map_insert_cost_factor", 1.5} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__map_erase_cost_factor | , | ||
{"__map_erase_cost_factor", 1.5} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__map_find_cost_factor | , | ||
{"__map_find_cost_factor", 1} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__map_iterate_cost_factor | , | ||
{"__map_iterate_cost_factor", 2.3} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__umap_insert_cost_factor | , | ||
{"__umap_insert_cost_factor", 12.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__umap_erase_cost_factor | , | ||
{"__umap_erase_cost_factor", 12.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__umap_find_cost_factor | , | ||
{"__umap_find_cost_factor", 10.0} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor | , |
__umap_iterate_cost_factor | , | ||
{"__umap_iterate_cost_factor", 1.7} | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | __cost_factor_vector * | , |
__cost_factors | , | ||
0 | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | const char * | , |
_S_trace_file_name | , | ||
_GLIBCXX_PROFILE_TRACE_PATH_ROOT | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | std::size_t | , |
_S_max_warn_count | , | ||
_GLIBCXX_PROFILE_MAX_WARN_COUNT | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | std::size_t | , |
_S_max_stack_depth | , | ||
_GLIBCXX_PROFILE_MAX_STACK_DEPTH | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_DATA | ( | std::size_t | , |
_S_max_mem | , | ||
_GLIBCXX_PROFILE_MEM_PER_DIAGNOSTIC | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA | ( | __env_t | , |
__env | |||
) |
__gnu_profile::_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA | ( | __gnu_cxx::__mutex | , |
__global_mutex | |||
) |
Master lock.