ARGOBOTS  dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
Data Structures | Macros | Typedefs | Functions
abti_key.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ABTI_ktable_mem_header
 

Macros

#define ABTI_KEY_STATIC_INITIALIZER(f_destructor, id)
 
#define ABTI_KEY_ID_STACKABLE_SCHED   0
 
#define ABTI_KEY_ID_MIGRATION   1
 
#define ABTI_KEY_ID_END_   2
 
#define ABTI_KTABLE_DESC_SIZE   (ABTI_MEM_POOL_DESC_SIZE - sizeof(ABTI_ktable_mem_header))
 
#define ABTI_KTABLE_LOCKED   ((ABTI_ktable *)0x1)
 

Typedefs

typedef struct ABTI_ktable_mem_header ABTI_ktable_mem_header
 

Functions

static ABTI_keyABTI_key_get_ptr (ABT_key key)
 
static ABT_key ABTI_key_get_handle (ABTI_key *p_key)
 
static int ABTI_ktable_is_valid (ABTI_ktable *p_ktable)
 
static ABTU_ret_err int ABTI_ktable_create (ABTI_global *p_global, ABTI_local *p_local, ABTI_ktable **pp_ktable)
 
static ABTU_ret_err int ABTI_ktable_alloc_elem (ABTI_local *p_local, ABTI_ktable *p_ktable, size_t size, void **pp_mem)
 
static uint32_t ABTI_ktable_get_idx (ABTI_key *p_key, int size)
 
static ABTU_ret_err int ABTI_ktable_set_impl (ABTI_local *p_local, ABTI_ktable *p_ktable, ABTI_key *p_key, void *value, ABT_bool is_safe)
 
static ABTU_ret_err int ABTI_ktable_set (ABTI_global *p_global, ABTI_local *p_local, ABTD_atomic_ptr *pp_ktable, ABTI_key *p_key, void *value)
 
static ABTU_ret_err int ABTI_ktable_set_unsafe (ABTI_global *p_global, ABTI_local *p_local, ABTI_ktable **pp_ktable, ABTI_key *p_key, void *value)
 
static void * ABTI_ktable_get (ABTD_atomic_ptr *pp_ktable, ABTI_key *p_key)
 

Macro Definition Documentation

◆ ABTI_KEY_ID_END_

#define ABTI_KEY_ID_END_   2

Definition at line 49 of file abti_key.h.

◆ ABTI_KEY_ID_MIGRATION

#define ABTI_KEY_ID_MIGRATION   1

Definition at line 48 of file abti_key.h.

◆ ABTI_KEY_ID_STACKABLE_SCHED

#define ABTI_KEY_ID_STACKABLE_SCHED   0

Definition at line 47 of file abti_key.h.

◆ ABTI_KEY_STATIC_INITIALIZER

#define ABTI_KEY_STATIC_INITIALIZER (   f_destructor,
  id 
)
Value:
{ \
f_destructor, id \
}

Definition at line 42 of file abti_key.h.

◆ ABTI_KTABLE_DESC_SIZE

#define ABTI_KTABLE_DESC_SIZE   (ABTI_MEM_POOL_DESC_SIZE - sizeof(ABTI_ktable_mem_header))

Definition at line 56 of file abti_key.h.

◆ ABTI_KTABLE_LOCKED

#define ABTI_KTABLE_LOCKED   ((ABTI_ktable *)0x1)

Definition at line 59 of file abti_key.h.

Typedef Documentation

◆ ABTI_ktable_mem_header

Function Documentation

◆ ABTI_key_get_handle()

static ABT_key ABTI_key_get_handle ( ABTI_key p_key)
inlinestatic

Definition at line 26 of file abti_key.h.

Referenced by ABT_key_create().

◆ ABTI_key_get_ptr()

static ABTI_key* ABTI_key_get_ptr ( ABT_key  key)
inlinestatic

◆ ABTI_ktable_alloc_elem()

static ABTU_ret_err int ABTI_ktable_alloc_elem ( ABTI_local p_local,
ABTI_ktable p_ktable,
size_t  size,
void **  pp_mem 
)
inlinestatic

Definition at line 118 of file abti_key.h.

Referenced by ABTI_ktable_set_impl().

◆ ABTI_ktable_create()

static ABTU_ret_err int ABTI_ktable_create ( ABTI_global p_global,
ABTI_local p_local,
ABTI_ktable **  pp_ktable 
)
inlinestatic

Definition at line 67 of file abti_key.h.

Referenced by ABTI_ktable_set(), and ABTI_ktable_set_unsafe().

◆ ABTI_ktable_get()

static void* ABTI_ktable_get ( ABTD_atomic_ptr pp_ktable,
ABTI_key p_key 
)
inlinestatic

Definition at line 287 of file abti_key.h.

Referenced by ABT_key_get(), ABT_self_get_specific(), and ABTI_thread_get_mig_data().

◆ ABTI_ktable_get_idx()

static uint32_t ABTI_ktable_get_idx ( ABTI_key p_key,
int  size 
)
inlinestatic

Definition at line 162 of file abti_key.h.

Referenced by ABTI_ktable_get(), and ABTI_ktable_set_impl().

◆ ABTI_ktable_is_valid()

static int ABTI_ktable_is_valid ( ABTI_ktable p_ktable)
inlinestatic

Definition at line 60 of file abti_key.h.

Referenced by ABTI_ktable_get(), and ABTI_ktable_set().

◆ ABTI_ktable_set()

static ABTU_ret_err int ABTI_ktable_set ( ABTI_global p_global,
ABTI_local p_local,
ABTD_atomic_ptr pp_ktable,
ABTI_key p_key,
void *  value 
)
inlinestatic

Definition at line 225 of file abti_key.h.

Referenced by ABT_key_set(), ABT_self_set_specific(), and ABTI_thread_get_mig_data().

◆ ABTI_ktable_set_impl()

static ABTU_ret_err int ABTI_ktable_set_impl ( ABTI_local p_local,
ABTI_ktable p_ktable,
ABTI_key p_key,
void *  value,
ABT_bool  is_safe 
)
inlinestatic

Definition at line 168 of file abti_key.h.

Referenced by ABTI_ktable_set(), and ABTI_ktable_set_unsafe().

◆ ABTI_ktable_set_unsafe()

static ABTU_ret_err int ABTI_ktable_set_unsafe ( ABTI_global p_global,
ABTI_local p_local,
ABTI_ktable **  pp_ktable,
ABTI_key p_key,
void *  value 
)
inlinestatic

Definition at line 271 of file abti_key.h.

Referenced by ythread_create().