30 #ifndef _GLIBCXX_PROFILE_PROFILER_NODE_H
31 #define _GLIBCXX_PROFILE_PROFILER_NODE_H 1
36 #if defined _GLIBCXX_HAVE_EXECINFO_H
40 namespace __gnu_profile
44 typedef std::_GLIBCXX_STD_C::vector<__instruction_address_t>
__stack_npt;
52 #if defined _GLIBCXX_HAVE_EXECINFO_H
57 int __depth = backtrace(&__buffer[0], __max_depth);
59 __builtin_memcpy(&(*__stack)[0], &__buffer[0],
73 return __stack->size();
83 __stack_npt::const_iterator __it;
84 for (__it = __stack->begin(); __it != __stack->end(); ++__it)
85 std::fprintf(__f,
"%p ", *__it);
99 __stack_npt::const_iterator __it;
100 for (__it = __s->begin(); __it != __s->end(); ++__it)
101 __index += reinterpret_cast<std::size_t>(*__it);
107 if (!__stack1 && !__stack2)
109 if (!__stack1 || !__stack2)
111 if (__stack1->size() != __stack2->size())
115 = __stack1->size() *
sizeof(__stack_npt::value_type);
116 return __builtin_memcmp(&(*__stack1)[0], &(*__stack2)[0],
144 virtual void __write(FILE* __f)
const = 0;
153 template<
typename __
object_info>
160 void __merge(
const __object_info& __info) = 0;
162 virtual const char*
__get_id()
const = 0;
bool _M_valid
Definition: profiler_node.h:148
__stack_t __get_stack()
Definition: profiler_node.h:50
void __write(FILE *__f, __stack_t __stack)
Definition: profiler_node.h:78
virtual float __magnitude() const =0
__object_info_base()
Definition: profiler_node.h:126
std::size_t __size(__stack_t __stack)
Definition: profiler_node.h:68
void * __instruction_address_t
Definition: profiler_node.h:43
#define true
Definition: stdbool.h:34
std::_GLIBCXX_STD_C::vector< __instruction_address_t > __stack_npt
Definition: profiler_node.h:44
__stack_t __stack() const
Definition: profiler_node.h:141
__object_info_base(const __object_info_base &__o)
Definition: profiler_node.h:131
virtual ~__stack_info_base()
Definition: profiler_node.h:159
__object_info_base(__stack_t __stack)
Definition: profiler_node.h:128
std::size_t operator()(__stack_t __s) const
Definition: profiler_node.h:93
void __merge(const __object_info &__info)=0
__stack_npt * __stack_t
Definition: profiler_node.h:45
__SIZE_TYPE__ size_t
Definition: stddef.h:212
__stack_t _M_stack
Definition: profiler_node.h:147
Base class for a line in the object table.
Definition: profiler_node.h:123
__stack_info_base()
Definition: profiler_node.h:157
virtual ~__object_info_base()
Definition: profiler_node.h:134
bool __is_valid() const
Definition: profiler_node.h:137
Hash function for summary trace using call stack as index.
Definition: profiler_node.h:89
std::size_t __stack_max_depth()
Definition: profiler_trace.h:174
virtual const char * __get_id() const =0
Base class for a line in the stack table.
Definition: profiler_node.h:154
virtual void __write(FILE *__f) const =0
const void * __object_t
Definition: profiler_node.h:42