History log of /6.6.0/platform/include/relaxed_atomic.h (Results 1 - 10 of 10)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v7.0.2, v6.6.1, v7.0.0, v6.5.1, v6.0.3, v5.5.4
# 24c0a690 07-Mar-2019 Trond Norbye <trond.norbye@gmail.com>

Refactor: Move RelaxedAtomic to cb namespace

Change-Id: Ie7333c1556e4630ba606345b51db7e3a8ea80613
Reviewed-on: http://review.couchbase.org/105827
Tested-by: Build Bot <build@couchbas

Refactor: Move RelaxedAtomic to cb namespace

Change-Id: Ie7333c1556e4630ba606345b51db7e3a8ea80613
Reviewed-on: http://review.couchbase.org/105827
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


Revision tags: v5.5.0, v4.6.5
# d9f78f53 04-Apr-2018 Tim Bradgate <tim.bradgate@couchbase.com>

MB-29094: Revert change of visiblity to value in RelaxedAtomic

Change-Id: Id0399360e0b035deca02a3e3e9d37cb98ea247b2
Reviewed-on: http://review.couchbase.org/92119
Tested-by: Build Bo

MB-29094: Revert change of visiblity to value in RelaxedAtomic

Change-Id: Id0399360e0b035deca02a3e3e9d37cb98ea247b2
Reviewed-on: http://review.couchbase.org/92119
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>

show more ...


# 8b9a714b 04-Apr-2018 Tim Bradgate <tim.bradgate@couchbase.com>

MB-29094: Add implementations for setAdd and setSub to RelaxedAtomic

As shown below, not all base classes have the ability to use the operator
overload methods (+= etc). This patch adds

MB-29094: Add implementations for setAdd and setSub to RelaxedAtomic

As shown below, not all base classes have the ability to use the operator
overload methods (+= etc). This patch adds functional equivalencies to
these which allows for the same behaviour but implemented using the
compare_exchange behaviour of std::atomic.

In file included from /kv_engine/daemon/connection.cc:18:
In file included from /kv_engine/daemon/connection.h:24:
In file included from /kv_engine/daemon/settings.h:31:
/platform/include/relaxed_atomic.h:55:26: error: no member named 'fetch_add' in 'std::__1::atomic<std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000> > >'
return value.fetch_add(arg, std::memory_order_relaxed);
~~~~~ ^
/platform/include/relaxed_atomic.h:68:13: note: in instantiation of member function 'Couchbase::RelaxedAtomic<std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000> > >::fetch_add' requested here
fetch_add(rhs);
^
/kv_engine/daemon/connection.cc:569:20: note: in instantiation of member function 'Couchbase::RelaxedAtomic<std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000> > >::operator+=' requested here
total_cpu_time += ns;
^
1 error generated.

Change-Id: I54fdfd9326e5b771c02554f50ef4f1fda1392db5
Reviewed-on: http://review.couchbase.org/92112
Reviewed-by: Paolo Cocchi <paolo.cocchi@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 7a9658f8 03-Apr-2018 Tim Bradgate <tim.bradgate@couchbase.com>

MB-29045: Add setIfSmaller functions to RelaxedAtomic

Change-Id: Ib69d16892acda83c1fa00b7f25e444d7718721b4
Reviewed-on: http://review.couchbase.org/92050
Reviewed-by: Dave Rigby <dav

MB-29045: Add setIfSmaller functions to RelaxedAtomic

Change-Id: Ib69d16892acda83c1fa00b7f25e444d7718721b4
Reviewed-on: http://review.couchbase.org/92050
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


# 36a9526f 01-Feb-2018 Jim Walker <jim@couchbase.com>

MB-24860: Add exchange onto RelaxedAtomic

Simply add
T exchange(T desired);

Which maps directly to value.exchange

Change-Id: I29dda04f78cab4fd13ee749479e3eccff045556e

MB-24860: Add exchange onto RelaxedAtomic

Simply add
T exchange(T desired);

Which maps directly to value.exchange

Change-Id: I29dda04f78cab4fd13ee749479e3eccff045556e
Reviewed-on: http://review.couchbase.org/88703
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# a9f6ad65 01-Feb-2018 Jim Walker <jim@couchbase.com>

MB-24860: Add compare_and_exchange onto RelaxedAtomic

Add a compare_and_exchange_weak using 'release' memory mode in
success case to ensure other threads see the written value.

MB-24860: Add compare_and_exchange onto RelaxedAtomic

Add a compare_and_exchange_weak using 'release' memory mode in
success case to ensure other threads see the written value.

Change-Id: I04efffaaea7900333285c93feae138ad48d00647
Reviewed-on: http://review.couchbase.org/88690
Reviewed-by: Dave Rigby <daver@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...


Revision tags: v5.0.0, v4.6.0
# 0f526326 15-Nov-2016 Dave Rigby <daver@couchbase.com>

RelaxedAtomic: Expand API

Add more methods to more closely resemble std::atomic

Change-Id: I9e57f4102762f771b09c07f6ee5262d879f77d45
Reviewed-on: http://review.couchbase.org/701

RelaxedAtomic: Expand API

Add more methods to more closely resemble std::atomic

Change-Id: I9e57f4102762f771b09c07f6ee5262d879f77d45
Reviewed-on: http://review.couchbase.org/70160
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


Revision tags: v4.6.0-DP, v4.5.1-MP1, v4.5.1, v4.5.0, v4.1.0
# d6cf5eda 08-Oct-2015 abhinavdangeti <abhinav@couchbase.com>

RelaxedAtomic: Remove 'explicit' definition for copy constructor

Removing explicit as windows complains when using RelaxedAtomic inside
an STL container:

C:\Program Files (x

RelaxedAtomic: Remove 'explicit' definition for copy constructor

Removing explicit as windows complains when using RelaxedAtomic inside
an STL container:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\vector(1708) :
error C2558:
class 'Couchbase::RelaxedAtomic<uint64_t>' : no copy constructor available or copy constructor is declared 'explicit')

Change-Id: I5c03348a720c28448b762a802a3c9b3fd282af14
Reviewed-on: http://review.couchbase.org/55889
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...


# 262ffc10 07-Oct-2015 Dave Rigby <daver@couchbase.com>

RelaxedAtomic: Allow construction from template type

Amongst other things this allows the creation of
std::vector<RelaxedAtomic> and calling std::vector::assign() on it.

Change-

RelaxedAtomic: Allow construction from template type

Amongst other things this allows the creation of
std::vector<RelaxedAtomic> and calling std::vector::assign() on it.

Change-Id: I98c7f2a2d06671e569356eb6b9c5439c19b3f799
Reviewed-on: http://review.couchbase.org/55870
Reviewed-by: abhinav dangeti <abhinav@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...


# a55bd86f 02-Sep-2015 Trond Norbye <trond.norbye@gmail.com>

Add template class RelaxedAtomic<>

Change-Id: Ibc9d0e9408ebba54682e7d04fef5500d5685a290
Reviewed-on: http://review.couchbase.org/54973
Reviewed-by: Dave Rigby <daver@couchbase.com>

Add template class RelaxedAtomic<>

Change-Id: Ibc9d0e9408ebba54682e7d04fef5500d5685a290
Reviewed-on: http://review.couchbase.org/54973
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: buildbot <build@couchbase.com>

show more ...