History log of /system/core/include/cutils/atomic-x86.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cad56b6ad3ba24d76e073c024aae78d2282058f3 01-Aug-2014 Hans Boehm <hboehm@google.com> Remove android_... store_barriers and 64-bit atomics.

These are no longer used, and we want to strongly discourage future use.
Keep the 32-bit variants while there are still uses. All users should move
to C11 or C++11 atomics.

(Resolved conflicts in atomic-...64.h with uniprocessor support
removal as in AOSP.)

Bug:16880454

Change-Id: I122b541cfd29ef4a6c932647f85d0d6a9d802061
(cherry picked from commit 9959ed953069ac9a7f08bebd2df55440e9370c0f)
/system/core/include/cutils/atomic-x86.h
5206d5971208fab8208669dabc98bbb9f7e4a45a 07-Dec-2012 Ben Cheng <bccheng@google.com> Fail-proof the inline directives for SMP atomic operations.

The various atomic operations are declared as inline in the header files
to cut the function call overhead. However, the plain inline keyword is
just a suggestion to the compiler which makes its own decision on whether
to inline them or not. Worst, if they are not inlined, the
-fvisibility-inlines-hidden compiler flag will render them as hidden
symbols in the object file. If they are picked up by the linker over the
ones supplied in libcutils.so the following warning will be reported:

warning: hidden symbol 'android_atomic_inc' in foo.o is referenced by
DSO bar.so

One way is to add __attribute__((visibility("default"))) to those inline
functions to suppress the linker warnings. A better way is to force
inlining as with this patch.

Change-Id: Ie4fcfdfaaf06f42d351619a0d89671a9df15ca2f
/system/core/include/cutils/atomic-x86.h
0a16d839698e46e87268707e79e66f51a42b932e 23-Jan-2011 Carl Shapiro <cshapiro@google.com> Remove unconditional swap from the android atomic operations suite.

Bug: 3381237
Change-Id: I7bdc7c8eb4c1cc6303d96e40ca2f196a007c4dd2
/system/core/include/cutils/atomic-x86.h
a4176578804e1b300f7652919161be035cf3cfd2 29-Sep-2010 Carl Shapiro <cshapiro@google.com> am df2f5a07: am d55f0adf: Qualify the source argument of atomic loads as a const pointer.

Merge commit 'df2f5a07aecac7be4ac2d1100668a0396fd256e7'

* commit 'df2f5a07aecac7be4ac2d1100668a0396fd256e7':
Qualify the source argument of atomic loads as a const pointer.
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
/system/core/include/cutils/atomic-x86.h
464431e65fbede57b0d41d230fe6f6dc465c20f8 24-Sep-2010 Brian Carlstrom <bdc@google.com> Add definitions for store barrier.

I usually call this a "store/store barrier" for maximum clarity, but
the common way of describing it is "store barrier" or "store fence".

This doesn't use "dmb st" yet since we're waiting on the toolchain
update, but it gets the various macros and inline functions in place
so we can use them in the VM.

Bug 3003477

git cherry-pick 2ba5eec3972b4ce46feb677116534fcd3d136e0a

Change-Id: Ifd2d3588be96aa529d490789436cf48c962021ba
/system/core/include/cutils/atomic-x86.h
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
/system/core/include/cutils/atomic-x86.h