Mercurial > hg > icedtea8-forest > hotspot
changeset 9896:6275d7b41909
PR3559: Use ldrexd for atomic reads on ARMv7.
2012-05-28 Andrew Haley <aph@redhat.com>
* os_linux_zero.hpp (atomic_copy64): Use ldrexd for atomic reads
on ARMv7.
author | aph |
---|---|
date | Mon, 28 May 2012 08:01:18 -0400 |
parents | be1379a186ba |
children | 5460c427c0dc |
files | src/os_cpu/linux_zero/vm/os_linux_zero.hpp |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Sat Apr 28 05:28:10 2018 +0100 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Mon May 28 08:01:18 2012 -0400 @@ -54,6 +54,12 @@ "std %0, 0(%2)\n" : "=r"(tmp) : "a"(src), "a"(dst)); +#elif defined(__ARM_ARCH_7A__) + jlong tmp; + asm volatile ("ldrexd %0, [%1]\n" + : "=r"(tmp) + : "r"(src), "m"(src)); + *(jlong *) dst = tmp; #else *(jlong *) dst = *(jlong *) src; #endif