FD.io VPP  v16.06
Vector Packet Processing
heap.c File Reference
+ Include dependency graph for heap.c:

Go to the source code of this file.

Functions

always_inline heap_elt_telt_at (heap_header_t *h, uword i)
 
always_inline heap_elt_tlast (heap_header_t *h)
 
always_inline heap_elt_tfirst (heap_header_t *h)
 
always_inline uword size_to_bin (uword size)
 
always_inline uword bin_to_size (uword bin)
 
static void elt_delete (heap_header_t *h, heap_elt_t *e)
 
always_inline void elt_insert_before (heap_header_t *h, heap_elt_t *e, heap_elt_t *new)
 
always_inline void elt_insert_after (heap_header_t *h, heap_elt_t *e, heap_elt_t *new)
 
always_inline heap_elt_telt_new (heap_header_t *h)
 
always_inline u32elt_data (void *v, heap_elt_t *e)
 
always_inline void set_free_elt (void *v, heap_elt_t *e, uword fi)
 
always_inline uword get_free_elt (void *v, heap_elt_t *e, uword *bin_result)
 
always_inline void remove_free_block (void *v, uword b, uword i)
 
static heap_elt_tsearch_free_list (void *v, uword size)
 
static void combine_free_blocks (void *v, heap_elt_t *e0, heap_elt_t *e1)
 
static void dealloc_elt (void *v, heap_elt_t *e)
 
void heap_dealloc (void *v, uword handle)
 
uword heap_len (void *v, word handle)
 
uword heap_bytes (void *v)
 
static u8debug_elt (u8 *s, void *v, word i, word n)
 
u8format_heap (u8 *s, va_list *va)
 
void heap_validate (void *v)
 

Function Documentation

always_inline uword bin_to_size ( uword  bin)

Definition at line 88 of file heap.c.

static void combine_free_blocks ( void v,
heap_elt_t e0,
heap_elt_t e1 
)
static

Definition at line 503 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void dealloc_elt ( void v,
heap_elt_t e 
)
inlinestatic

Definition at line 337 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* debug_elt ( u8 s,
void v,
word  i,
word  n 
)
static

Definition at line 625 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline heap_elt_t* elt_at ( heap_header_t h,
uword  i 
)

Definition at line 45 of file heap.c.

+ Here is the caller graph for this function:

always_inline u32* elt_data ( void v,
heap_elt_t e 
)

Definition at line 199 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void elt_delete ( heap_header_t h,
heap_elt_t e 
)
static

Definition at line 100 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void elt_insert_after ( heap_header_t h,
heap_elt_t e,
heap_elt_t new 
)

Definition at line 163 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void elt_insert_before ( heap_header_t h,
heap_elt_t e,
heap_elt_t new 
)

Definition at line 139 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Definition at line 183 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Definition at line 54 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_heap ( u8 s,
va_list *  va 
)

Definition at line 669 of file heap.c.

+ Here is the call graph for this function:

always_inline uword get_free_elt ( void v,
heap_elt_t e,
uword bin_result 
)

Definition at line 226 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword heap_bytes ( void v)

Definition at line 605 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void heap_dealloc ( void v,
uword  handle 
)

Definition at line 478 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword heap_len ( void v,
word  handle 
)

Definition at line 576 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void heap_validate ( void v)

Definition at line 695 of file heap.c.

+ Here is the call graph for this function:

Definition at line 51 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void remove_free_block ( void v,
uword  b,
uword  i 
)

Definition at line 248 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static heap_elt_t* search_free_list ( void v,
uword  size 
)
static

Definition at line 267 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void set_free_elt ( void v,
heap_elt_t e,
uword  fi 
)

Definition at line 206 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline uword size_to_bin ( uword  size)

Definition at line 65 of file heap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: