diff options
Diffstat (limited to 'recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch')
-rw-r--r-- | recipes-core/openjdk/openjdk-6/zero-cmpswap-long.patch | 20 |
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 @@ | |||
1 | Index: 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, | ||