summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch')
-rw-r--r--recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch b/recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch
new file mode 100644
index 0000000..ca21ccf
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch
@@ -0,0 +1,20 @@
1Index: icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp
2===================================================================
3--- icedtea6-1.8.orig/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp 2010-06-17 10:26:16.885292426 +0200
4+++ icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp 2010-06-17 10:29:19.034668305 +0200
5@@ -266,7 +266,15 @@
6 volatile jlong* dest,
7 jlong compare_value) {
8
9+#ifdef ARM
10+ return arm_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
11+#else
12+#ifdef M68K
13+ return m68k_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
14+#else
15 return __sync_val_compare_and_swap(dest, compare_value, exchange_value);
16+#endif // M68K
17+#endif // ARM
18 }
19
20 inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value,