HPCToolkit
backtrace_info.h
Go to the documentation of this file.
1
#ifndef BACKTRACE_INFO_H
2
#define BACKTRACE_INFO_H
3
4
//
5
// Information about backtrace
6
// NOTE:
7
// Minor data structure for transitional use
8
// There are no operations, so type is concrete
9
//
10
// Likely to be eventually replaced by an opaque backtrace datatype
11
//
12
#include <stdbool.h>
13
#include <stdint.h>
14
15
#include <
hpcrun/frame.h
>
16
#include <
unwind/common/fence_enum.h
>
17
18
typedef
struct
{
19
frame_t
*
begin
;
// beginning frame of backtrace
20
frame_t
*
last
;
// ending frame of backtrace (inclusive)
21
size_t
n_trolls
;
// # of frames that resulted from trolling
22
fence_enum_t
fence
:3;
// Type of stop -- thread or main *only meaninful when good unwind
23
bool
has_tramp
:1;
// true when a trampoline short-circuited the unwind
24
bool
bottom_frame_elided
:1;
// true if bottom frame has been elided
25
bool
partial_unwind
:1;
// true if not a full unwind
26
void
*
trace_pc
;
// in/out value: modified to adjust trace when modifying backtrace
27
}
backtrace_info_t
;
28
29
#endif // BACKTRACE_INFO_H
backtrace_info_t::fence
fence_enum_t fence
Definition:
backtrace_info.h:22
backtrace_info_t::bottom_frame_elided
bool bottom_frame_elided
Definition:
backtrace_info.h:24
backtrace_info_t::has_tramp
bool has_tramp
Definition:
backtrace_info.h:23
fence_enum_t
fence_enum_t
Definition:
fence_enum.h:11
frame.h
backtrace_info_t::begin
frame_t * begin
Definition:
backtrace_info.h:19
backtrace_info_t::n_trolls
size_t n_trolls
Definition:
backtrace_info.h:21
backtrace_info_t::partial_unwind
bool partial_unwind
Definition:
backtrace_info.h:25
fence_enum.h
backtrace_info_t::last
frame_t * last
Definition:
backtrace_info.h:20
backtrace_info_t::trace_pc
void * trace_pc
Definition:
backtrace_info.h:26
backtrace_info_t
Definition:
backtrace_info.h:18
frame_t
Definition:
frame.h:58
src
tool
hpcrun
unwind
common
backtrace_info.h
Generated by
1.8.13