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>
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
28 
29 #endif // BACKTRACE_INFO_H
fence_enum_t fence
fence_enum_t
Definition: fence_enum.h:11
Definition: frame.h:58