6 #ifndef ABTI_SYNC_LIFO_H_INCLUDED
7 #define ABTI_SYNC_LIFO_H_INCLUDED
21 #if ABTD_ATOMIC_SUPPORT_TAGGED_PTR
22 ABTD_atomic_tagged_ptr p_top;
32 #if ABTD_ATOMIC_SUPPORT_TAGGED_PTR
33 ABTD_atomic_release_store_non_atomic_tagged_ptr(&p_lifo->p_top, NULL, 0);
48 #if ABTD_ATOMIC_SUPPORT_TAGGED_PTR
51 ABTD_atomic_relaxed_load_non_atomic_tagged_ptr(&p_lifo->p_top,
54 p_elem->
p_next = p_cur_top;
55 ABTD_atomic_relaxed_store_non_atomic_tagged_ptr(&p_lifo->p_top, p_elem,
60 p_elem->
p_next = p_cur_top;
68 #if ABTD_ATOMIC_SUPPORT_TAGGED_PTR
71 ABTD_atomic_relaxed_load_non_atomic_tagged_ptr(&p_lifo->p_top,
74 if (p_cur_top == NULL)
77 ABTD_atomic_relaxed_store_non_atomic_tagged_ptr(&p_lifo->p_top, p_next,
93 #if ABTD_ATOMIC_SUPPORT_TAGGED_PTR
97 ABTD_atomic_acquire_load_non_atomic_tagged_ptr(&p_lifo->p_top,
100 p_elem->
p_next = p_cur_top;
102 if (
ABTU_likely(ABTD_atomic_bool_cas_weak_tagged_ptr(&p_lifo->p_top,
118 #if ABTD_ATOMIC_SUPPORT_TAGGED_PTR
122 ABTD_atomic_acquire_load_non_atomic_tagged_ptr(&p_lifo->p_top,
125 if (p_cur_top == NULL)
129 if (
ABTU_likely(ABTD_atomic_bool_cas_weak_tagged_ptr(&p_lifo->p_top,