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
|