HPCToolkit
binarytree_uwi.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <lib/prof-lean/mem_manager.h>
#include "interval_t.h"
Include dependency graph for binarytree_uwi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uwi_s
 
struct  btuwi_status_s
 

Macros

#define UWI_NEXT(btuwi)   (bitree_uwi_rightsubtree(btuwi))
 
#define UWI_START_ADDR(btuwi)   (bitree_uwi_interval(btuwi))->start
 
#define UWI_END_ADDR(btuwi)   (bitree_uwi_interval(btuwi))->end
 
#define MAX_RECIPE_STR   256
 

Typedefs

typedef struct recipe_s uw_recipe_t
 
typedef struct uwi_s uwi_t
 
typedef struct bitree_uwi_s bitree_uwi_t
 
typedef struct btuwi_status_s btuwi_status_t
 
typedef enum unwinder_e unwinder_t
 

Enumerations

enum  unwinder_e { DWARF_UNWINDER, NATIVE_UNWINDER, NUM_UNWINDERS }
 

Functions

void bitree_uwi_init (mem_alloc m_alloc)
 
bitree_uwi_tbitree_uwi_malloc (unwinder_t uw, size_t recipe_size)
 
void bitree_uwi_free (unwinder_t uw, bitree_uwi_t *tree)
 
uwi_tbitree_uwi_rootval (bitree_uwi_t *tree)
 
bitree_uwi_tbitree_uwi_leftsubtree (bitree_uwi_t *tree)
 
bitree_uwi_tbitree_uwi_rightsubtree (bitree_uwi_t *tree)
 
void bitree_uwi_set_leftsubtree (bitree_uwi_t *tree, bitree_uwi_t *subtree)
 
void bitree_uwi_set_rightsubtree (bitree_uwi_t *tree, bitree_uwi_t *subtree)
 
interval_tbitree_uwi_interval (bitree_uwi_t *tree)
 
uw_recipe_tbitree_uwi_recipe (bitree_uwi_t *tree)
 
bitree_uwi_tbitree_uwi_rebalance (bitree_uwi_t *tree, int count)
 
bitree_uwi_tbitree_uwi_flatten (bitree_uwi_t *tree)
 
bitree_uwi_tbitree_uwi_find (bitree_uwi_t *tree, uwi_t *val)
 
bitree_uwi_tbitree_uwi_inrange (bitree_uwi_t *tree, uintptr_t address)
 
void uw_recipe_tostr (void *uwr, char str[], unwinder_t uw)
 
void uw_recipe_print (void *uwr)
 
void bitree_uwi_tostring_indent (bitree_uwi_t *tree, char *indents, char treestr[], unwinder_t uw)
 

Macro Definition Documentation

◆ MAX_RECIPE_STR

#define MAX_RECIPE_STR   256

Definition at line 45 of file binarytree_uwi.h.

◆ UWI_END_ADDR

#define UWI_END_ADDR (   btuwi)    (bitree_uwi_interval(btuwi))->end

Definition at line 44 of file binarytree_uwi.h.

◆ UWI_NEXT

#define UWI_NEXT (   btuwi)    (bitree_uwi_rightsubtree(btuwi))

Definition at line 42 of file binarytree_uwi.h.

◆ UWI_START_ADDR

#define UWI_START_ADDR (   btuwi)    (bitree_uwi_interval(btuwi))->start

Definition at line 43 of file binarytree_uwi.h.

Typedef Documentation

◆ bitree_uwi_t

typedef struct bitree_uwi_s bitree_uwi_t

Definition at line 58 of file binarytree_uwi.h.

◆ btuwi_status_t

◆ unwinder_t

typedef enum unwinder_e unwinder_t

◆ uw_recipe_t

typedef struct recipe_s uw_recipe_t

Definition at line 51 of file binarytree_uwi.h.

◆ uwi_t

typedef struct uwi_s uwi_t

Enumeration Type Documentation

◆ unwinder_e

enum unwinder_e
Enumerator
DWARF_UNWINDER 
NATIVE_UNWINDER 
NUM_UNWINDERS 

Definition at line 67 of file binarytree_uwi.h.

Function Documentation

◆ bitree_uwi_find()

bitree_uwi_t* bitree_uwi_find ( bitree_uwi_t tree,
uwi_t val 
)

Definition at line 174 of file binarytree_uwi.c.

Here is the call graph for this function:

◆ bitree_uwi_flatten()

bitree_uwi_t* bitree_uwi_flatten ( bitree_uwi_t tree)

Definition at line 157 of file binarytree_uwi.c.

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

◆ bitree_uwi_free()

void bitree_uwi_free ( unwinder_t  uw,
bitree_uwi_t tree 
)

Definition at line 75 of file binarytree_uwi.c.

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

◆ bitree_uwi_init()

void bitree_uwi_init ( mem_alloc  m_alloc)

Definition at line 32 of file binarytree_uwi.c.

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

◆ bitree_uwi_inrange()

bitree_uwi_t* bitree_uwi_inrange ( bitree_uwi_t tree,
uintptr_t  address 
)

Definition at line 192 of file binarytree_uwi.c.

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

◆ bitree_uwi_interval()

interval_t* bitree_uwi_interval ( bitree_uwi_t tree)

Definition at line 129 of file binarytree_uwi.c.

Here is the call graph for this function:

◆ bitree_uwi_leftsubtree()

bitree_uwi_t* bitree_uwi_leftsubtree ( bitree_uwi_t tree)

Definition at line 97 of file binarytree_uwi.c.

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

◆ bitree_uwi_malloc()

bitree_uwi_t* bitree_uwi_malloc ( unwinder_t  uw,
size_t  recipe_size 
)

Definition at line 44 of file binarytree_uwi.c.

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

◆ bitree_uwi_rebalance()

bitree_uwi_t* bitree_uwi_rebalance ( bitree_uwi_t tree,
int  count 
)

Definition at line 150 of file binarytree_uwi.c.

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

◆ bitree_uwi_recipe()

uw_recipe_t* bitree_uwi_recipe ( bitree_uwi_t tree)

Definition at line 140 of file binarytree_uwi.c.

Here is the call graph for this function:

◆ bitree_uwi_rightsubtree()

bitree_uwi_t* bitree_uwi_rightsubtree ( bitree_uwi_t tree)

Definition at line 104 of file binarytree_uwi.c.

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

◆ bitree_uwi_rootval()

uwi_t* bitree_uwi_rootval ( bitree_uwi_t tree)

Definition at line 90 of file binarytree_uwi.c.

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

◆ bitree_uwi_set_leftsubtree()

void bitree_uwi_set_leftsubtree ( bitree_uwi_t tree,
bitree_uwi_t subtree 
)

Definition at line 110 of file binarytree_uwi.c.

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

◆ bitree_uwi_set_rightsubtree()

void bitree_uwi_set_rightsubtree ( bitree_uwi_t tree,
bitree_uwi_t subtree 
)

Definition at line 118 of file binarytree_uwi.c.

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

◆ bitree_uwi_tostring_indent()

void bitree_uwi_tostring_indent ( bitree_uwi_t tree,
char *  indents,
char  treestr[],
unwinder_t  uw 
)

Definition at line 236 of file binarytree_uwi.c.

Here is the call graph for this function:

◆ uw_recipe_print()

void uw_recipe_print ( void *  uwr)

Definition at line 193 of file ppc64-unwind-interval.c.

Here is the call graph for this function:

◆ uw_recipe_tostr()

void uw_recipe_tostr ( void *  uwr,
char  str[],
unwinder_t  uw 
)

Definition at line 195 of file libunw-unwind.c.

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