ARGOBOTS  4dc37e16e1b227a480715ab67dae1dcfb4d2d4e0
Data Structures | Enumerations | Functions
abti_ythread.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_ythread_callback_resume_yield_to_arg
 
struct  ABTI_ythread_callback_resume_suspend_to_arg
 
struct  ABTI_ythread_callback_resume_exit_to_arg
 
struct  ABTI_ythread_callback_suspend_unlock_arg
 
struct  ABTI_ythread_callback_suspend_join_arg
 
struct  ABTI_ythread_callback_suspend_replace_sched_arg
 

Enumerations

enum  ABTI_ythread_yield_kind { ABTI_YTHREAD_YIELD_KIND_USER, ABTI_YTHREAD_YIELD_KIND_YIELD_LOOP }
 
enum  ABTI_ythread_yield_to_kind { ABTI_YTHREAD_YIELD_TO_KIND_USER, ABTI_YTHREAD_YIELD_TO_KIND_CREATE_TO, ABTI_YTHREAD_YIELD_TO_KIND_REVIVE_TO }
 
enum  ABTI_ythread_resume_yield_to_kind { ABTI_YTHREAD_RESUME_YIELD_TO_KIND_USER }
 

Functions

static ABTI_ythreadABTI_ythread_get_ptr (ABT_thread thread)
 
static ABT_thread ABTI_ythread_get_handle (ABTI_ythread *p_ythread)
 
static void ABTI_ythread_resume_and_push (ABTI_local *p_local, ABTI_ythread *p_ythread)
 
static ABTI_ythreadABTI_ythread_context_get_ythread (ABTD_ythread_context *p_ctx)
 
static ABTU_noreturn void ABTI_ythread_context_jump (ABTI_xstream *p_local_xstream, ABTI_ythread *p_new)
 
static void ABTI_ythread_context_switch (ABTI_xstream *p_local_xstream, ABTI_ythread *p_old, ABTI_ythread *p_new)
 
static ABTU_noreturn void ABTI_ythread_context_jump_with_call (ABTI_xstream *p_local_xstream, ABTI_ythread *p_new, void(*f_cb)(void *), void *cb_arg)
 
static void ABTI_ythread_context_switch_with_call (ABTI_xstream *p_local_xstream, ABTI_ythread *p_old, ABTI_ythread *p_new, void(*f_cb)(void *), void *cb_arg)
 
static void ABTI_ythread_switch_to_child_internal (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_old, ABTI_ythread *p_new)
 
static ABTU_noreturn void ABTI_ythread_jump_to_sibling_internal (ABTI_xstream *p_local_xstream, ABTI_ythread *p_old, ABTI_ythread *p_new, void(*f_cb)(void *), void *cb_arg)
 
static void ABTI_ythread_switch_to_sibling_internal (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_old, ABTI_ythread *p_new, void(*f_cb)(void *), void *cb_arg)
 
static ABTU_noreturn void ABTI_ythread_jump_to_parent_internal (ABTI_xstream *p_local_xstream, ABTI_ythread *p_old, void(*f_cb)(void *), void *cb_arg)
 
static void ABTI_ythread_switch_to_parent_internal (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_old, void(*f_cb)(void *), void *cb_arg)
 
static ABT_bool ABTI_ythread_context_peek (ABTI_ythread *p_ythread, void(*f_peek)(void *), void *arg)
 
static void ABTI_ythread_run_child (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_child)
 
void ABTI_ythread_callback_yield_user_yield (void *arg)
 
void ABTI_ythread_callback_yield_loop (void *arg)
 
void ABTI_ythread_callback_yield_user_yield_to (void *arg)
 
void ABTI_ythread_callback_yield_create_to (void *arg)
 
void ABTI_ythread_callback_yield_revive_to (void *arg)
 
static void ABTI_ythread_yield (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread_yield_kind kind, ABT_sync_event_type sync_event_type, void *p_sync)
 
static void ABTI_ythread_yield_to (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target, ABTI_ythread_yield_to_kind kind, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_thread_yield_to (void *arg)
 
static void ABTI_ythread_thread_yield_to (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_resume_yield_to (void *arg)
 
static void ABTI_ythread_resume_yield_to (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target, ABTI_ythread_resume_yield_to_kind kind, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_suspend (void *arg)
 
static void ABTI_ythread_suspend (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABT_sync_event_type sync_event_type, void *p_sync)
 
static void ABTI_ythread_suspend_to (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_resume_suspend_to (void *arg)
 
static void ABTI_ythread_resume_suspend_to (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_exit (void *arg)
 
static ABTI_ythreadABTI_ythread_atomic_get_joiner (ABTI_ythread *p_ythread)
 
static void ABTI_ythread_resume_joiner (ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
 
static ABTU_noreturn void ABTI_ythread_exit (ABTI_xstream *p_local_xstream, ABTI_ythread *p_self)
 
static ABTU_noreturn void ABTI_ythread_exit_to (ABTI_xstream *p_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target)
 
static ABTU_noreturn void ABTI_ythread_exit_to_primary (ABTI_global *p_global, ABTI_xstream *p_local_xstream, ABTI_ythread *p_self)
 
void ABTI_ythread_callback_resume_exit_to (void *arg)
 
static ABTU_noreturn void ABTI_ythread_resume_exit_to (ABTI_xstream *p_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target)
 
void ABTI_ythread_callback_suspend_unlock (void *arg)
 
static void ABTI_ythread_suspend_unlock (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTD_spinlock *p_lock, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_suspend_join (void *arg)
 
static void ABTI_ythread_suspend_join (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_ythread *p_target, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_suspend_replace_sched (void *arg)
 
static void ABTI_ythread_suspend_replace_sched (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABTI_sched *p_main_sched, ABT_sync_event_type sync_event_type, void *p_sync)
 
void ABTI_ythread_callback_orphan (void *arg)
 
static void ABTI_ythread_yield_orphan (ABTI_xstream **pp_local_xstream, ABTI_ythread *p_self, ABT_sync_event_type sync_event_type, void *p_sync)
 
static void ABTI_ythread_schedule (ABTI_global *p_global, ABTI_xstream **pp_local_xstream, ABTI_thread *p_thread)
 

Enumeration Type Documentation

◆ ABTI_ythread_resume_yield_to_kind

Enumerator
ABTI_YTHREAD_RESUME_YIELD_TO_KIND_USER 

Definition at line 324 of file abti_ythread.h.

◆ ABTI_ythread_yield_kind

Enumerator
ABTI_YTHREAD_YIELD_KIND_USER 
ABTI_YTHREAD_YIELD_KIND_YIELD_LOOP 

Definition at line 237 of file abti_ythread.h.

◆ ABTI_ythread_yield_to_kind

Enumerator
ABTI_YTHREAD_YIELD_TO_KIND_USER 
ABTI_YTHREAD_YIELD_TO_KIND_CREATE_TO 
ABTI_YTHREAD_YIELD_TO_KIND_REVIVE_TO 

Definition at line 242 of file abti_ythread.h.

Function Documentation

◆ ABTI_ythread_atomic_get_joiner()

static ABTI_ythread* ABTI_ythread_atomic_get_joiner ( ABTI_ythread p_ythread)
inlinestatic

Definition at line 411 of file abti_ythread.h.

Referenced by ABTI_ythread_exit(), and ABTI_ythread_resume_joiner().

◆ ABTI_ythread_callback_exit()

void ABTI_ythread_callback_exit ( void *  arg)

◆ ABTI_ythread_callback_orphan()

void ABTI_ythread_callback_orphan ( void *  arg)

Definition at line 222 of file ythread.c.

Referenced by ABTI_ythread_yield_orphan().

◆ ABTI_ythread_callback_resume_exit_to()

void ABTI_ythread_callback_resume_exit_to ( void *  arg)

Definition at line 147 of file ythread.c.

Referenced by ABTI_ythread_resume_exit_to().

◆ ABTI_ythread_callback_resume_suspend_to()

void ABTI_ythread_callback_resume_suspend_to ( void *  arg)

Definition at line 116 of file ythread.c.

Referenced by ABTI_ythread_resume_suspend_to().

◆ ABTI_ythread_callback_resume_yield_to()

void ABTI_ythread_callback_resume_yield_to ( void *  arg)

Definition at line 83 of file ythread.c.

Referenced by ABTI_ythread_resume_yield_to().

◆ ABTI_ythread_callback_suspend()

void ABTI_ythread_callback_suspend ( void *  arg)

Definition at line 103 of file ythread.c.

Referenced by ABTI_ythread_suspend(), and ABTI_ythread_suspend_to().

◆ ABTI_ythread_callback_suspend_join()

void ABTI_ythread_callback_suspend_join ( void *  arg)

Definition at line 181 of file ythread.c.

Referenced by ABTI_ythread_suspend_join().

◆ ABTI_ythread_callback_suspend_replace_sched()

void ABTI_ythread_callback_suspend_replace_sched ( void *  arg)

Definition at line 203 of file ythread.c.

Referenced by ABTI_ythread_suspend_replace_sched().

◆ ABTI_ythread_callback_suspend_unlock()

void ABTI_ythread_callback_suspend_unlock ( void *  arg)

Definition at line 162 of file ythread.c.

Referenced by ABTI_ythread_suspend_unlock().

◆ ABTI_ythread_callback_thread_yield_to()

void ABTI_ythread_callback_thread_yield_to ( void *  arg)

Definition at line 61 of file ythread.c.

Referenced by ABTI_ythread_thread_yield_to().

◆ ABTI_ythread_callback_yield_create_to()

void ABTI_ythread_callback_yield_create_to ( void *  arg)

Definition at line 49 of file ythread.c.

Referenced by ABTI_ythread_yield_to().

◆ ABTI_ythread_callback_yield_loop()

void ABTI_ythread_callback_yield_loop ( void *  arg)

Definition at line 39 of file ythread.c.

Referenced by ABTI_ythread_yield().

◆ ABTI_ythread_callback_yield_revive_to()

void ABTI_ythread_callback_yield_revive_to ( void *  arg)

Definition at line 54 of file ythread.c.

Referenced by ABTI_ythread_yield_to().

◆ ABTI_ythread_callback_yield_user_yield()

void ABTI_ythread_callback_yield_user_yield ( void *  arg)

Definition at line 34 of file ythread.c.

Referenced by ABTI_ythread_yield().

◆ ABTI_ythread_callback_yield_user_yield_to()

void ABTI_ythread_callback_yield_user_yield_to ( void *  arg)

Definition at line 44 of file ythread.c.

Referenced by ABTI_ythread_yield_to().

◆ ABTI_ythread_context_get_ythread()

static ABTI_ythread* ABTI_ythread_context_get_ythread ( ABTD_ythread_context p_ctx)
inlinestatic

Definition at line 66 of file abti_ythread.h.

Referenced by ABTD_ythread_func_wrapper(), and ABTI_ythread_atomic_get_joiner().

◆ ABTI_ythread_context_jump()

static ABTU_noreturn void ABTI_ythread_context_jump ( ABTI_xstream p_local_xstream,
ABTI_ythread p_new 
)
inlinestatic

Definition at line 72 of file abti_ythread.h.

◆ ABTI_ythread_context_jump_with_call()

static ABTU_noreturn void ABTI_ythread_context_jump_with_call ( ABTI_xstream p_local_xstream,
ABTI_ythread p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

◆ ABTI_ythread_context_peek()

static ABT_bool ABTI_ythread_context_peek ( ABTI_ythread p_ythread,
void(*)(void *)  f_peek,
void *  arg 
)
inlinestatic

Definition at line 221 of file abti_ythread.h.

Referenced by ABTI_ythread_print_stack().

◆ ABTI_ythread_context_switch()

static void ABTI_ythread_context_switch ( ABTI_xstream p_local_xstream,
ABTI_ythread p_old,
ABTI_ythread p_new 
)
inlinestatic

Definition at line 88 of file abti_ythread.h.

Referenced by ABTI_ythread_switch_to_child_internal().

◆ ABTI_ythread_context_switch_with_call()

static void ABTI_ythread_context_switch_with_call ( ABTI_xstream p_local_xstream,
ABTI_ythread p_old,
ABTI_ythread p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

◆ ABTI_ythread_exit()

static ABTU_noreturn void ABTI_ythread_exit ( ABTI_xstream p_local_xstream,
ABTI_ythread p_self 
)
inlinestatic

Definition at line 460 of file abti_ythread.h.

Referenced by ABT_self_exit(), ABT_xstream_exit(), and ABTD_ythread_func_wrapper().

◆ ABTI_ythread_exit_to()

static ABTU_noreturn void ABTI_ythread_exit_to ( ABTI_xstream p_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target 
)
inlinestatic

Definition at line 511 of file abti_ythread.h.

Referenced by ABT_self_exit_to().

◆ ABTI_ythread_exit_to_primary()

static ABTU_noreturn void ABTI_ythread_exit_to_primary ( ABTI_global p_global,
ABTI_xstream p_local_xstream,
ABTI_ythread p_self 
)
inlinestatic

Definition at line 530 of file abti_ythread.h.

◆ ABTI_ythread_get_handle()

static ABT_thread ABTI_ythread_get_handle ( ABTI_ythread p_ythread)
inlinestatic

Definition at line 26 of file abti_ythread.h.

◆ ABTI_ythread_get_ptr()

static ABTI_ythread* ABTI_ythread_get_ptr ( ABT_thread  thread)
inlinestatic

Definition at line 11 of file abti_ythread.h.

◆ ABTI_ythread_jump_to_parent_internal()

static ABTU_noreturn void ABTI_ythread_jump_to_parent_internal ( ABTI_xstream p_local_xstream,
ABTI_ythread p_old,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

Definition at line 194 of file abti_ythread.h.

Referenced by ABTI_ythread_exit().

◆ ABTI_ythread_jump_to_sibling_internal()

static ABTU_noreturn void ABTI_ythread_jump_to_sibling_internal ( ABTI_xstream p_local_xstream,
ABTI_ythread p_old,
ABTI_ythread p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

◆ ABTI_ythread_resume_and_push()

static void ABTI_ythread_resume_and_push ( ABTI_local p_local,
ABTI_ythread p_ythread 
)
inlinestatic

◆ ABTI_ythread_resume_exit_to()

static ABTU_noreturn void ABTI_ythread_resume_exit_to ( ABTI_xstream p_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target 
)
inlinestatic

Definition at line 552 of file abti_ythread.h.

Referenced by ABT_self_resume_exit_to().

◆ ABTI_ythread_resume_joiner()

static void ABTI_ythread_resume_joiner ( ABTI_xstream p_local_xstream,
ABTI_ythread p_ythread 
)
inlinestatic

◆ ABTI_ythread_resume_suspend_to()

static void ABTI_ythread_resume_suspend_to ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 387 of file abti_ythread.h.

Referenced by ABT_self_resume_suspend_to().

◆ ABTI_ythread_resume_yield_to()

static void ABTI_ythread_resume_yield_to ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target,
ABTI_ythread_resume_yield_to_kind  kind,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 329 of file abti_ythread.h.

Referenced by ABT_self_resume_yield_to().

◆ ABTI_ythread_run_child()

static void ABTI_ythread_run_child ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_child 
)
inlinestatic

Definition at line 228 of file abti_ythread.h.

Referenced by ABTI_ythread_schedule().

◆ ABTI_ythread_schedule()

static void ABTI_ythread_schedule ( ABTI_global p_global,
ABTI_xstream **  pp_local_xstream,
ABTI_thread p_thread 
)
inlinestatic

Definition at line 650 of file abti_ythread.h.

Referenced by ABT_self_schedule(), and sched_run().

◆ ABTI_ythread_suspend()

static void ABTI_ythread_suspend ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 353 of file abti_ythread.h.

Referenced by ABT_self_suspend().

◆ ABTI_ythread_suspend_join()

static void ABTI_ythread_suspend_join ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 603 of file abti_ythread.h.

◆ ABTI_ythread_suspend_replace_sched()

static void ABTI_ythread_suspend_replace_sched ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_sched p_main_sched,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 623 of file abti_ythread.h.

◆ ABTI_ythread_suspend_to()

static void ABTI_ythread_suspend_to ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 366 of file abti_ythread.h.

Referenced by ABT_self_suspend_to().

◆ ABTI_ythread_suspend_unlock()

static void ABTI_ythread_suspend_unlock ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTD_spinlock p_lock,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 582 of file abti_ythread.h.

Referenced by ABTI_waitlist_wait_and_unlock().

◆ ABTI_ythread_switch_to_child_internal()

static void ABTI_ythread_switch_to_child_internal ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_old,
ABTI_ythread p_new 
)
inlinestatic

Definition at line 147 of file abti_ythread.h.

Referenced by ABTI_ythread_run_child().

◆ ABTI_ythread_switch_to_parent_internal()

static void ABTI_ythread_switch_to_parent_internal ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_old,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

◆ ABTI_ythread_switch_to_sibling_internal()

static void ABTI_ythread_switch_to_sibling_internal ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_old,
ABTI_ythread p_new,
void(*)(void *)  f_cb,
void *  cb_arg 
)
inlinestatic

◆ ABTI_ythread_thread_yield_to()

static void ABTI_ythread_thread_yield_to ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 303 of file abti_ythread.h.

◆ ABTI_ythread_yield()

static void ABTI_ythread_yield ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread_yield_kind  kind,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

◆ ABTI_ythread_yield_orphan()

static void ABTI_ythread_yield_orphan ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 640 of file abti_ythread.h.

Referenced by finailze_library().

◆ ABTI_ythread_yield_to()

static void ABTI_ythread_yield_to ( ABTI_xstream **  pp_local_xstream,
ABTI_ythread p_self,
ABTI_ythread p_target,
ABTI_ythread_yield_to_kind  kind,
ABT_sync_event_type  sync_event_type,
void *  p_sync 
)
inlinestatic

Definition at line 275 of file abti_ythread.h.

Referenced by ABT_self_yield_to(), ABT_thread_create_to(), and ABT_thread_revive_to().