ARGOBOTS  dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
Data Structures | Macros | Functions
abtd_fcontext.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  fcontext_t
 
struct  ABTD_ythread_context
 

Macros

#define ABT_API_PRIVATE
 

Functions

static int ABTDI_fcontext_is_created (const fcontext_t *p_ftx)
 
static void ABTDI_fcontext_init (fcontext_t *p_ftx)
 
void switch_fcontext (fcontext_t *p_new_ctx, fcontext_t *p_old_ctx) ABT_API_PRIVATE
 
void jump_fcontext (fcontext_t *p_new_ctx) ABT_API_PRIVATE
 
void init_and_switch_fcontext (fcontext_t *p_new_ctx, void(*f_thread)(fcontext_t *), void *p_stacktop, fcontext_t *p_old_ctx) ABT_API_PRIVATE
 
void init_and_jump_fcontext (fcontext_t *p_new_ctx, void(*f_thread)(fcontext_t *), void *p_stacktop) ABT_API_PRIVATE
 
void switch_with_call_fcontext (void *cb_arg, void(*f_cb)(void *), fcontext_t *p_new_ctx, fcontext_t *p_old_ctx) ABT_API_PRIVATE
 
void jump_with_call_fcontext (void *cb_arg, void(*f_cb)(void *), fcontext_t *p_new_ctx) ABT_API_PRIVATE
 
void init_and_switch_with_call_fcontext (void *cb_arg, void(*f_cb)(void *), fcontext_t *p_new_ctx, void(*f_thread)(fcontext_t *), void *p_stacktop, fcontext_t *p_old_ctx) ABT_API_PRIVATE
 
void init_and_jump_with_call_fcontext (void *cb_arg, void(*f_cb)(void *), fcontext_t *p_new_ctx, void(*f_thread)(fcontext_t *), void *p_stacktop) ABT_API_PRIVATE
 
void peek_fcontext (void *arg, void(*f_peek)(void *), fcontext_t *p_target_ctx) ABT_API_PRIVATE
 
static ABTD_ythread_contextABTDI_ythread_context_get_context (fcontext_t *p_fctx)
 
static void ABTD_ythread_context_func_wrapper (fcontext_t *p_fctx)
 
static void ABTD_ythread_context_init (ABTD_ythread_context *p_ctx, void *p_stacktop, size_t stacksize)
 
static void ABTD_ythread_context_init_lazy (ABTD_ythread_context *p_ctx, size_t stacksize)
 
static void ABTD_ythread_context_lazy_set_stack (ABTD_ythread_context *p_ctx, void *p_stacktop)
 
static void ABTD_ythread_context_lazy_unset_stack (ABTD_ythread_context *p_ctx)
 
static void ABTD_ythread_context_reinit (ABTD_ythread_context *p_ctx)
 
static void * ABTD_ythread_context_get_stacktop (ABTD_ythread_context *p_ctx)
 
static ABT_bool ABTD_ythread_context_has_stack (const ABTD_ythread_context *p_ctx)
 
static size_t ABTD_ythread_context_get_stacksize (ABTD_ythread_context *p_ctx)
 
static ABT_bool ABTD_ythread_context_is_started (const ABTD_ythread_context *p_ctx)
 
static void ABTD_ythread_context_switch (ABTD_ythread_context *p_old, ABTD_ythread_context *p_new)
 
static void ABTD_ythread_context_start_and_switch (ABTD_ythread_context *p_old, ABTD_ythread_context *p_new)
 
static ABTU_noreturn void ABTD_ythread_context_jump (ABTD_ythread_context *p_new)
 
static ABTU_noreturn void ABTD_ythread_context_start_and_jump (ABTD_ythread_context *p_new)
 
static void ABTD_ythread_context_switch_with_call (ABTD_ythread_context *p_old, ABTD_ythread_context *p_new, void(*f_cb)(void *), void *cb_arg)
 
static void ABTD_ythread_context_start_and_switch_with_call (ABTD_ythread_context *p_old, ABTD_ythread_context *p_new, void(*f_cb)(void *), void *cb_arg)
 
static ABTU_noreturn void ABTD_ythread_context_jump_with_call (ABTD_ythread_context *p_new, void(*f_cb)(void *), void *cb_arg)
 
static ABTU_noreturn void ABTD_ythread_context_start_and_jump_with_call (ABTD_ythread_context *p_new, void(*f_cb)(void *), void *cb_arg)
 
static ABT_bool ABTD_ythread_context_peek (ABTD_ythread_context *p_target_ctx, void(*f_peek)(void *), void *arg)
 

Macro Definition Documentation

◆ ABT_API_PRIVATE

#define ABT_API_PRIVATE

Definition at line 27 of file abtd_fcontext.h.

Function Documentation

◆ ABTD_ythread_context_func_wrapper()

static void ABTD_ythread_context_func_wrapper ( fcontext_t p_fctx)
static

◆ ABTD_ythread_context_get_stacksize()

static size_t ABTD_ythread_context_get_stacksize ( ABTD_ythread_context p_ctx)
inlinestatic

Definition at line 130 of file abtd_fcontext.h.

Referenced by ABTI_mem_free_thread(), and ABTI_ythread_print_stack().

◆ ABTD_ythread_context_get_stacktop()

static void* ABTD_ythread_context_get_stacktop ( ABTD_ythread_context p_ctx)
inlinestatic

◆ ABTD_ythread_context_has_stack()

static ABT_bool ABTD_ythread_context_has_stack ( const ABTD_ythread_context p_ctx)
inlinestatic

◆ ABTD_ythread_context_init()

static void ABTD_ythread_context_init ( ABTD_ythread_context p_ctx,
void *  p_stacktop,
size_t  stacksize 
)
inlinestatic

◆ ABTD_ythread_context_init_lazy()

static void ABTD_ythread_context_init_lazy ( ABTD_ythread_context p_ctx,
size_t  stacksize 
)
inlinestatic

Definition at line 89 of file abtd_fcontext.h.

Referenced by ABTI_mem_alloc_ythread_mempool_desc_stack().

◆ ABTD_ythread_context_is_started()

static ABT_bool ABTD_ythread_context_is_started ( const ABTD_ythread_context p_ctx)
inlinestatic

◆ ABTD_ythread_context_jump()

static ABTU_noreturn void ABTD_ythread_context_jump ( ABTD_ythread_context p_new)
inlinestatic

Definition at line 160 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_jump().

◆ ABTD_ythread_context_jump_with_call()

static ABTU_noreturn void ABTD_ythread_context_jump_with_call ( ABTD_ythread_context p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

Definition at line 201 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_jump_with_call().

◆ ABTD_ythread_context_lazy_set_stack()

static void ABTD_ythread_context_lazy_set_stack ( ABTD_ythread_context p_ctx,
void *  p_stacktop 
)
inlinestatic

Definition at line 99 of file abtd_fcontext.h.

Referenced by ABTI_mem_alloc_ythread_mempool_stack().

◆ ABTD_ythread_context_lazy_unset_stack()

static void ABTD_ythread_context_lazy_unset_stack ( ABTD_ythread_context p_ctx)
inlinestatic

Definition at line 106 of file abtd_fcontext.h.

Referenced by ABTI_mem_free_ythread_mempool_stack().

◆ ABTD_ythread_context_peek()

static ABT_bool ABTD_ythread_context_peek ( ABTD_ythread_context p_target_ctx,
void(*)(void *)  f_peek,
void *  arg 
)
inlinestatic

Definition at line 222 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_peek().

◆ ABTD_ythread_context_reinit()

static void ABTD_ythread_context_reinit ( ABTD_ythread_context p_ctx)
inlinestatic

Definition at line 111 of file abtd_fcontext.h.

Referenced by thread_revive().

◆ ABTD_ythread_context_start_and_jump()

static ABTU_noreturn void ABTD_ythread_context_start_and_jump ( ABTD_ythread_context p_new)
inlinestatic

Definition at line 169 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_jump().

◆ ABTD_ythread_context_start_and_jump_with_call()

static ABTU_noreturn void ABTD_ythread_context_start_and_jump_with_call ( ABTD_ythread_context p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

Definition at line 210 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_jump_with_call().

◆ ABTD_ythread_context_start_and_switch()

static void ABTD_ythread_context_start_and_switch ( ABTD_ythread_context p_old,
ABTD_ythread_context p_new 
)
inlinestatic

Definition at line 150 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_switch().

◆ ABTD_ythread_context_start_and_switch_with_call()

static void ABTD_ythread_context_start_and_switch_with_call ( ABTD_ythread_context p_old,
ABTD_ythread_context p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

Definition at line 189 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_switch_with_call().

◆ ABTD_ythread_context_switch()

static void ABTD_ythread_context_switch ( ABTD_ythread_context p_old,
ABTD_ythread_context p_new 
)
inlinestatic

Definition at line 141 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_switch().

◆ ABTD_ythread_context_switch_with_call()

static void ABTD_ythread_context_switch_with_call ( ABTD_ythread_context p_old,
ABTD_ythread_context p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

Definition at line 179 of file abtd_fcontext.h.

Referenced by ABTI_ythread_context_switch_with_call().

◆ ABTDI_fcontext_init()

static void ABTDI_fcontext_init ( fcontext_t p_ftx)
inlinestatic

◆ ABTDI_fcontext_is_created()

static int ABTDI_fcontext_is_created ( const fcontext_t p_ftx)
inlinestatic

◆ ABTDI_ythread_context_get_context()

static ABTD_ythread_context* ABTDI_ythread_context_get_context ( fcontext_t p_fctx)
inlinestatic

Definition at line 65 of file abtd_fcontext.h.

Referenced by ABTD_ythread_context_func_wrapper().

◆ init_and_jump_fcontext()

void init_and_jump_fcontext ( fcontext_t p_new_ctx,
void(*)(fcontext_t *)  f_thread,
void *  p_stacktop 
)

◆ init_and_jump_with_call_fcontext()

void init_and_jump_with_call_fcontext ( void *  cb_arg,
void(*)(void *)  f_cb,
fcontext_t p_new_ctx,
void(*)(fcontext_t *)  f_thread,
void *  p_stacktop 
)

◆ init_and_switch_fcontext()

void init_and_switch_fcontext ( fcontext_t p_new_ctx,
void(*)(fcontext_t *)  f_thread,
void *  p_stacktop,
fcontext_t p_old_ctx 
)

◆ init_and_switch_with_call_fcontext()

void init_and_switch_with_call_fcontext ( void *  cb_arg,
void(*)(void *)  f_cb,
fcontext_t p_new_ctx,
void(*)(fcontext_t *)  f_thread,
void *  p_stacktop,
fcontext_t p_old_ctx 
)

◆ jump_fcontext()

void jump_fcontext ( fcontext_t p_new_ctx)

◆ jump_with_call_fcontext()

void jump_with_call_fcontext ( void *  cb_arg,
void(*)(void *)  f_cb,
fcontext_t p_new_ctx 
)

◆ peek_fcontext()

void peek_fcontext ( void *  arg,
void(*)(void *)  f_peek,
fcontext_t p_target_ctx 
)

◆ switch_fcontext()

void switch_fcontext ( fcontext_t p_new_ctx,
fcontext_t p_old_ctx 
)

◆ switch_with_call_fcontext()

void switch_with_call_fcontext ( void *  cb_arg,
void(*)(void *)  f_cb,
fcontext_t p_new_ctx,
fcontext_t p_old_ctx 
)