summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-02-15 10:14:16 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-02-15 18:14:36 +0300
commit83710d2afa4bd9fcbfb01c6cd6a1a049ad182716 (patch)
treee0c6cfb70c7ee09ba9ec90f2d578d0b6d7258873
parenteef6823ee95efcc9a58f46d62ff49b84de434e7e (diff)
downloadlibatomic_ops-83710d2afa4bd9fcbfb01c6cd6a1a049ad182716.tar.gz
Use builtin_expect in AO_stack_push_explicit_aux_release
* src/atomic_ops_stack.c [AO_USE_ALMOST_LOCK_FREE] (AO_stack_push_explicit_aux_release): Use AO_EXPECT_FALSE() in comparison of entries and x_bits.
-rw-r--r--src/atomic_ops_stack.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/atomic_ops_stack.c b/src/atomic_ops_stack.c
index 364f84c..69a1a9b 100644
--- a/src/atomic_ops_stack.c
+++ b/src/atomic_ops_stack.c
@@ -101,11 +101,11 @@ AO_API AO_t *AO_real_next_ptr(AO_t next)
/* Start all loads as close to concurrently as possible. */
AO_t entry1 = AO_load(&a->AO_stack_bl[0]);
AO_t entry2 = AO_load(&a->AO_stack_bl[1]);
- if (entry1 == x_bits || entry2 == x_bits)
+ if (AO_EXPECT_FALSE(entry1 == x_bits || entry2 == x_bits))
# else
int i;
for (i = 0; i < AO_BL_SIZE; ++i)
- if (AO_load(&a->AO_stack_bl[i]) == x_bits)
+ if (AO_EXPECT_FALSE(AO_load(&a->AO_stack_bl[i]) == x_bits))
# endif
{
/* Entry is currently being removed. Change it a little. */