newTop = MAKE_POINTER(get_ptr(next), get_count(oldTop) + 1);
// release & relaxed
success = atomic_compare_exchange_strong_explicit(&s->top, &oldTop,
newTop = MAKE_POINTER(get_ptr(next), get_count(oldTop) + 1);
// release & relaxed
success = atomic_compare_exchange_strong_explicit(&s->top, &oldTop,