LLVM OpenMP 20.0.0git
|
Base class for wait/release volatile flag. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/openmp/runtime/src/kmp_wait_release.h"
Public Types | |
typedef PtrType | flag_t |
![]() | |
typedef flag_traits< FlagType > | traits_type |
Public Member Functions | |
kmp_flag_native (volatile PtrType *p) | |
kmp_flag_native (volatile PtrType *p, kmp_info_t *thr) | |
kmp_flag_native (volatile PtrType *p, PtrType c) | |
kmp_flag_native (volatile PtrType *p, PtrType c, std::atomic< bool > *sloc) | |
virtual | ~kmp_flag_native () |
void * | operator new (size_t size) |
void | operator delete (void *p) |
volatile PtrType * | get () |
void * | get_void_p () |
void | set (volatile PtrType *new_loc) |
PtrType | load () |
void | store (PtrType val) |
virtual bool | done_check () |
virtual bool | done_check_val (PtrType old_loc) |
virtual bool | notdone_check () |
void | internal_release () |
PtrType | set_sleeping () |
void | unset_sleeping () |
bool | is_sleeping_val (PtrType old_loc) |
bool | is_sleeping () |
Test whether there are threads sleeping on the flag. | |
bool | is_any_sleeping () |
kmp_uint8 * | get_stolen () |
![]() | |
kmp_flag () | |
kmp_flag (int nwaiters) | |
kmp_flag (std::atomic< bool > *sloc) | |
flag_type | get_type () |
kmp_info_t * | get_waiter (kmp_uint32 i) |
param i in index into waiting_threads | |
kmp_uint32 | get_num_waiters () |
void | set_waiter (kmp_info_t *thr) |
enum barrier_type | get_bt () |
Protected Types | |
typedef flag_traits< FlagType > | traits_type |
Protected Attributes | |
volatile PtrType * | loc |
PtrType | checker = (PtrType)0 |
When flag==checker, it has been released. | |
![]() | |
flag_properties | t |
"Type" of the flag in loc | |
kmp_info_t * | waiting_threads [1] = {nullptr} |
kmp_uint32 | num_waiting_threads |
Num threads sleeping on this thread. | |
std::atomic< bool > * | sleepLoc |
Base class for wait/release volatile flag.
Definition at line 141 of file kmp_wait_release.h.
typedef PtrType kmp_flag_native< PtrType, FlagType, Sleepable >::flag_t |
Definition at line 148 of file kmp_wait_release.h.
|
protected |
Definition at line 145 of file kmp_wait_release.h.
|
inline |
Definition at line 149 of file kmp_wait_release.h.
|
inline |
Definition at line 150 of file kmp_wait_release.h.
References kmp_flag< FlagType >::waiting_threads.
|
inline |
Definition at line 154 of file kmp_wait_release.h.
|
inline |
Definition at line 156 of file kmp_wait_release.h.
|
inlinevirtual |
Definition at line 158 of file kmp_wait_release.h.
|
inlinevirtual |
Reimplemented in kmp_flag_oncore.
Definition at line 167 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::checker, kmp_flag_native< PtrType, FlagType, Sleepable >::get(), KMP_BARRIER_SLEEP_STATE, and kmp_flag< FlagType >::sleepLoc.
|
inlinevirtual |
old_loc | in old value of flag |
Reimplemented in kmp_flag_oncore.
Definition at line 176 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::checker.
|
inline |
Definition at line 161 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::loc.
Referenced by kmp_flag_native< PtrType, FlagType, Sleepable >::done_check(), kmp_flag_native< PtrType, FlagType, Sleepable >::internal_release(), kmp_flag_native< PtrType, FlagType, Sleepable >::is_any_sleeping(), kmp_flag_native< PtrType, FlagType, Sleepable >::is_sleeping(), kmp_flag_native< PtrType, FlagType, Sleepable >::notdone_check(), kmp_flag_native< PtrType, FlagType, Sleepable >::set_sleeping(), and kmp_flag_native< PtrType, FlagType, Sleepable >::unset_sleeping().
|
inline |
Definition at line 230 of file kmp_wait_release.h.
|
inline |
Definition at line 162 of file kmp_wait_release.h.
References CCAST, kmp_flag_native< PtrType, FlagType, Sleepable >::loc, and RCAST.
|
inline |
Definition at line 187 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::get(), and void.
|
inline |
Definition at line 225 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::get(), kmp_flag_native< PtrType, FlagType, Sleepable >::is_sleeping_val(), and kmp_flag< FlagType >::sleepLoc.
|
inline |
Test whether there are threads sleeping on the flag.
Definition at line 220 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::get(), kmp_flag_native< PtrType, FlagType, Sleepable >::is_sleeping_val(), and kmp_flag< FlagType >::sleepLoc.
Referenced by __kmp_resume_if_soft_paused().
|
inline |
old_loc | in old value of flag Test if there are threads sleeping on the flag's old value in old_loc. |
Definition at line 214 of file kmp_wait_release.h.
References KMP_BARRIER_SLEEP_STATE, and kmp_flag< FlagType >::sleepLoc.
Referenced by kmp_flag_native< PtrType, FlagType, Sleepable >::is_any_sleeping(), and kmp_flag_native< PtrType, FlagType, Sleepable >::is_sleeping().
|
inline |
Definition at line 164 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::loc.
|
inlinevirtual |
Reimplemented in kmp_flag_oncore.
Definition at line 182 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::checker, and kmp_flag_native< PtrType, FlagType, Sleepable >::get().
|
inline |
Definition at line 160 of file kmp_wait_release.h.
References __kmp_free, and p.
|
inline |
Definition at line 159 of file kmp_wait_release.h.
References __kmp_allocate, and size.
|
inline |
Definition at line 163 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::loc.
|
inline |
Definition at line 193 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::get(), KMP_BARRIER_SLEEP_STATE, and kmp_flag< FlagType >::sleepLoc.
|
inline |
Definition at line 165 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::loc, and val.
|
inline |
Definition at line 204 of file kmp_wait_release.h.
References kmp_flag_native< PtrType, FlagType, Sleepable >::get(), KMP_BARRIER_SLEEP_STATE, and kmp_flag< FlagType >::sleepLoc.
|
protected |
When flag==checker, it has been released.
Definition at line 144 of file kmp_wait_release.h.
Referenced by kmp_flag_native< PtrType, FlagType, Sleepable >::done_check(), kmp_flag_native< PtrType, FlagType, Sleepable >::done_check_val(), and kmp_flag_native< PtrType, FlagType, Sleepable >::notdone_check().
|
protected |
Definition at line 143 of file kmp_wait_release.h.
Referenced by kmp_flag_native< PtrType, FlagType, Sleepable >::get(), kmp_flag_native< PtrType, FlagType, Sleepable >::get_void_p(), kmp_flag_native< PtrType, FlagType, Sleepable >::load(), kmp_flag_native< PtrType, FlagType, Sleepable >::set(), and kmp_flag_native< PtrType, FlagType, Sleepable >::store().