Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Functions
ngx_slab.c File Reference
#include <ngx_config.h>
#include <ngx_core.h>
Include dependency graph for ngx_slab.c:

Go to the source code of this file.

Macros

#define NGX_SLAB_PAGE_MASK   3
#define NGX_SLAB_PAGE   0
#define NGX_SLAB_BIG   1
#define NGX_SLAB_EXACT   2
#define NGX_SLAB_SMALL   3
#define NGX_SLAB_PAGE_FREE   0
#define NGX_SLAB_PAGE_BUSY   0xffffffffffffffff
#define NGX_SLAB_PAGE_START   0x8000000000000000
#define NGX_SLAB_SHIFT_MASK   0x000000000000000f
#define NGX_SLAB_MAP_MASK   0xffffffff00000000
#define NGX_SLAB_MAP_SHIFT   32
#define NGX_SLAB_BUSY   0xffffffffffffffff
#define ngx_slab_junk(p, size)

Functions

void ngx_slab_init (ngx_slab_pool_t *pool)
void * ngx_slab_alloc (ngx_slab_pool_t *pool, size_t size)
void * ngx_slab_alloc_locked (ngx_slab_pool_t *pool, size_t size)
void ngx_slab_free (ngx_slab_pool_t *pool, void *p)
void ngx_slab_free_locked (ngx_slab_pool_t *pool, void *p)

Macro Definition Documentation

#define NGX_SLAB_BIG   1

Definition at line 13 of file ngx_slab.c.

#define NGX_SLAB_BUSY   0xffffffffffffffff

Definition at line 39 of file ngx_slab.c.

#define NGX_SLAB_EXACT   2

Definition at line 14 of file ngx_slab.c.

#define ngx_slab_junk (   p,
  size 
)

Definition at line 55 of file ngx_slab.c.

#define NGX_SLAB_MAP_MASK   0xffffffff00000000

Definition at line 36 of file ngx_slab.c.

#define NGX_SLAB_MAP_SHIFT   32

Definition at line 37 of file ngx_slab.c.

#define NGX_SLAB_PAGE   0

Definition at line 12 of file ngx_slab.c.

#define NGX_SLAB_PAGE_BUSY   0xffffffffffffffff

Definition at line 32 of file ngx_slab.c.

#define NGX_SLAB_PAGE_FREE   0

Definition at line 31 of file ngx_slab.c.

#define NGX_SLAB_PAGE_MASK   3

Definition at line 11 of file ngx_slab.c.

#define NGX_SLAB_PAGE_START   0x8000000000000000

Definition at line 33 of file ngx_slab.c.

#define NGX_SLAB_SHIFT_MASK   0x000000000000000f

Definition at line 35 of file ngx_slab.c.

#define NGX_SLAB_SMALL   3

Definition at line 15 of file ngx_slab.c.

Function Documentation

void* ngx_slab_alloc ( ngx_slab_pool_t pool,
size_t  size 
)

Definition at line 138 of file ngx_slab.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void* ngx_slab_alloc_locked ( ngx_slab_pool_t pool,
size_t  size 
)

Definition at line 153 of file ngx_slab.c.

Here is the caller graph for this function:

void ngx_slab_free ( ngx_slab_pool_t pool,
void *  p 
)

Definition at line 399 of file ngx_slab.c.

Here is the call graph for this function:

void ngx_slab_free_locked ( ngx_slab_pool_t pool,
void *  p 
)

Definition at line 410 of file ngx_slab.c.

Here is the caller graph for this function:

void ngx_slab_init ( ngx_slab_pool_t pool)

Definition at line 73 of file ngx_slab.c.