HPCToolkit
libunw_intervals.c File Reference
#include <stdlib.h>
#include <stddef.h>
#include <stdint.h>
#include <inttypes.h>
#include <stdbool.h>
#include <ucontext.h>
#include <include/hpctoolkit-config.h>
#include <monitor.h>
#include <fnbounds/fnbounds_interface.h>
#include <messages/messages.h>
#include <hpcrun/hpcrun_stats.h>
#include <unwind/common/unw-datatypes.h>
#include <unwind/common/unwind.h>
#include <unwind/common/uw_recipe_map.h>
#include <unwind/common/binarytree_uwi.h>
#include <utilities/arch/context-pc.h>
Include dependency graph for libunw_intervals.c:

Go to the source code of this file.

Classes

struct  builder
 

Macros

#define UNW_LOCAL_ONLY
 
#define DEBUG_LIBUNWIND_INTERFACE   0
 

Functions

static void * libunw_cursor_get_pc (hpcrun_unw_cursor_t *cursor)
 
static void compute_normalized_ips (hpcrun_unw_cursor_t *cursor)
 
bool libunw_finalize_cursor (hpcrun_unw_cursor_t *cursor)
 
step_state libunw_take_step (hpcrun_unw_cursor_t *cursor)
 
void libunw_unw_init_cursor (hpcrun_unw_cursor_t *cursor, void *context)
 
static int dwarf_reg_states_callback (void *token, void *rs, size_t size, unw_word_t start_ip, unw_word_t end_ip)
 
btuwi_status_t libunw_build_intervals (char *beg_insn, unsigned int len)
 
step_state libunw_unw_step (hpcrun_unw_cursor_t *cursor)
 
void libunw_uw_recipe_tostr (void *uwr, char str[])
 

Macro Definition Documentation

◆ DEBUG_LIBUNWIND_INTERFACE

#define DEBUG_LIBUNWIND_INTERFACE   0

Definition at line 96 of file libunw_intervals.c.

◆ UNW_LOCAL_ONLY

#define UNW_LOCAL_ONLY

Definition at line 59 of file libunw_intervals.c.

Function Documentation

◆ compute_normalized_ips()

static void compute_normalized_ips ( hpcrun_unw_cursor_t cursor)
static

Definition at line 192 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dwarf_reg_states_callback()

static int dwarf_reg_states_callback ( void *  token,
void *  rs,
size_t  size,
unw_word_t  start_ip,
unw_word_t  end_ip 
)
static

Definition at line 288 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libunw_build_intervals()

btuwi_status_t libunw_build_intervals ( char *  beg_insn,
unsigned int  len 
)

Definition at line 310 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libunw_cursor_get_pc()

static void* libunw_cursor_get_pc ( hpcrun_unw_cursor_t cursor)
static

Definition at line 181 of file libunw_intervals.c.

Here is the caller graph for this function:

◆ libunw_finalize_cursor()

bool libunw_finalize_cursor ( hpcrun_unw_cursor_t cursor)

Definition at line 210 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libunw_take_step()

step_state libunw_take_step ( hpcrun_unw_cursor_t cursor)

Definition at line 229 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libunw_unw_init_cursor()

void libunw_unw_init_cursor ( hpcrun_unw_cursor_t cursor,
void *  context 
)

Definition at line 266 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libunw_unw_step()

step_state libunw_unw_step ( hpcrun_unw_cursor_t cursor)

Definition at line 347 of file libunw_intervals.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libunw_uw_recipe_tostr()

void libunw_uw_recipe_tostr ( void *  uwr,
char  str[] 
)

Definition at line 364 of file libunw_intervals.c.

Here is the caller graph for this function: