summaryrefslogtreecommitdiffstats
path: root/include/cutils
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2010-09-28 17:38:03 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-28 17:38:03 -0700
commita4176578804e1b300f7652919161be035cf3cfd2 (patch)
tree2f9a43b7b3f8df2dfbb583bb1be38860973ddb62 /include/cutils
parent579ca37361b2b1ea9aa62d6b450866e1f48db064 (diff)
parentdf2f5a07aecac7be4ac2d1100668a0396fd256e7 (diff)
downloadsystem_core-a4176578804e1b300f7652919161be035cf3cfd2.zip
system_core-a4176578804e1b300f7652919161be035cf3cfd2.tar.gz
system_core-a4176578804e1b300f7652919161be035cf3cfd2.tar.bz2
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.
Diffstat (limited to 'include/cutils')
-rw-r--r--include/cutils/atomic-arm.h10
-rw-r--r--include/cutils/atomic-x86.h18
-rw-r--r--include/cutils/atomic.h4
3 files changed, 20 insertions, 12 deletions
diff --git a/include/cutils/atomic-arm.h b/include/cutils/atomic-arm.h
index 3ed9af2..5e27d03 100644
--- a/include/cutils/atomic-arm.h
+++ b/include/cutils/atomic-arm.h
@@ -65,14 +65,14 @@ extern inline void android_memory_store_barrier(void)
}
#endif
-extern inline int32_t android_atomic_acquire_load(volatile int32_t *ptr)
+extern inline int32_t android_atomic_acquire_load(volatile const int32_t *ptr)
{
int32_t value = *ptr;
android_memory_barrier();
return value;
}
-extern inline int32_t android_atomic_release_load(volatile int32_t *ptr)
+extern inline int32_t android_atomic_release_load(volatile const int32_t *ptr)
{
android_memory_barrier();
return *ptr;
@@ -212,11 +212,13 @@ extern inline int32_t android_atomic_add(int32_t increment,
}
#endif
-extern inline int32_t android_atomic_inc(volatile int32_t *addr) {
+extern inline int32_t android_atomic_inc(volatile int32_t *addr)
+{
return android_atomic_add(1, addr);
}
-extern inline int32_t android_atomic_dec(volatile int32_t *addr) {
+extern inline int32_t android_atomic_dec(volatile int32_t *addr)
+{
return android_atomic_add(-1, addr);
}
diff --git a/include/cutils/atomic-x86.h b/include/cutils/atomic-x86.h
index 834379d..bce23ad 100644
--- a/include/cutils/atomic-x86.h
+++ b/include/cutils/atomic-x86.h
@@ -44,25 +44,29 @@ extern inline void android_memory_store_barrier(void)
}
#endif
-extern inline int32_t android_atomic_acquire_load(volatile int32_t *ptr) {
+extern inline int32_t android_atomic_acquire_load(volatile const int32_t *ptr)
+{
int32_t value = *ptr;
android_compiler_barrier();
return value;
}
-extern inline int32_t android_atomic_release_load(volatile int32_t *ptr) {
+extern inline int32_t android_atomic_release_load(volatile const int32_t *ptr)
+{
android_memory_barrier();
return *ptr;
}
extern inline void android_atomic_acquire_store(int32_t value,
- volatile int32_t *ptr) {
+ volatile int32_t *ptr)
+{
*ptr = value;
android_memory_barrier();
}
extern inline void android_atomic_release_store(int32_t value,
- volatile int32_t *ptr) {
+ volatile int32_t *ptr)
+{
android_compiler_barrier();
*ptr = value;
}
@@ -115,11 +119,13 @@ extern inline int32_t android_atomic_add(int32_t increment,
return increment;
}
-extern inline int32_t android_atomic_inc(volatile int32_t *addr) {
+extern inline int32_t android_atomic_inc(volatile int32_t *addr)
+{
return android_atomic_add(1, addr);
}
-extern inline int32_t android_atomic_dec(volatile int32_t *addr) {
+extern inline int32_t android_atomic_dec(volatile int32_t *addr)
+{
return android_atomic_add(-1, addr);
}
diff --git a/include/cutils/atomic.h b/include/cutils/atomic.h
index 3866848..a50bf0f 100644
--- a/include/cutils/atomic.h
+++ b/include/cutils/atomic.h
@@ -77,8 +77,8 @@ int32_t android_atomic_or(int32_t value, volatile int32_t* addr);
* This is only necessary if you need the memory barrier. A 32-bit read
* from a 32-bit aligned address is atomic on all supported platforms.
*/
-int32_t android_atomic_acquire_load(volatile int32_t* addr);
-int32_t android_atomic_release_load(volatile int32_t* addr);
+int32_t android_atomic_acquire_load(volatile const int32_t* addr);
+int32_t android_atomic_release_load(volatile const int32_t* addr);
/*
* Perform an atomic store with "acquire" or "release" ordering.