History log of /system/core/include/cutils/atomic.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0a16d839698e46e87268707e79e66f51a42b932e 23-Jan-2011 Carl Shapiro <cshapiro@google.com> Remove unconditional swap from the android atomic operations suite.

Bug: 3381237
Change-Id: I7bdc7c8eb4c1cc6303d96e40ca2f196a007c4dd2
d55f0adfb5ec4202ad5bd5d188e66c0f6a27b0aa 28-Sep-2010 Carl Shapiro <cshapiro@google.com> Qualify the source argument of atomic loads as a const pointer.

Also normalizes the opening brace placment in a few locations.

Change-Id: I8f518e933094337d5d3371321326ffc03b3a5f5a
93b0cb40c18cae594c931677be2b9214420610b7 04-Jun-2010 Carl Shapiro <cshapiro@google.com> Define inline atomic operations for x86 and ARM.

This change moves the ARM definitions into GCC extended inline
assembler. In addition, the same set of x86 definitions are now
shared among all x86 targets.

Change-Id: I6e5aa3a413d0af2acbe5d32994983d35a01fdcb3
8dfa47da8cb33ebaf7aae6db6548e75ed86e8f1e 27-May-2010 Andy McFadden <fadden@android.com> Atomic/SMP update, part 2.

Added new atomic functions, renamed some old ones. Some #defines have
been added for backward compatibility.

Merged the pre- and post-ARMv6 implementations into a single file.

Renamed the semi-private __android_membar_full_smp to USE_SCREAMING_CAPS
since that's more appropriate for a macro.

Added lots of comments.

Note Mac OS X primitives have not been tested.

Change-Id: If827260750aeb61ad5c2b760e30658e29dbb26f2
ac322da69ee48aa792baf5c48cfb719ce077f67e 20-May-2010 Andy McFadden <fadden@android.com> Atomic/SMP update.

Added atomic-inline.h. Added a platform-specific memory barrier call

Added android_atomic_acquire_cmpxchg() and android_atomic_release_store().
Not tested on Mac OS X or SH.

Added memory barrier calls to linux-x86 atomics. Mac OS X has barrier
functions already. sh isn't really SMP-ready. linux-arm needs work
(to be done in a separate change).

Updated the makefile to make the SMP state visible to the code here.
Note that host binaries are NOT built with SMP enabled; while our hosts
are very likely SMP, it's not worth figuring out e.g. whether it's okay
to use the SSE2 mfence instruction or have to use something else. We
haven't had barriers enabled in host tools before, so there's probably
no need to stat now.

Removed quasiatomic 64-bit calls (now part of Dalvik).

Change-Id: I49e5e6c8abe70f304cdedb9d7b8e6e65f8925815
dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
e54eebbf1a908d65ee8cf80bab62821c05666d70 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution