hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp
changeset 46753 137ae24f3b52
parent 46523 cbcc0ebaa044
equal deleted inserted replaced
46752:a2b799e3f0be 46753:137ae24f3b52
    36 
    36 
    37   // Atomically copy 64 bits of data
    37   // Atomically copy 64 bits of data
    38   static void atomic_copy64(const volatile void *src, volatile void *dst) {
    38   static void atomic_copy64(const volatile void *src, volatile void *dst) {
    39 #if defined(PPC32)
    39 #if defined(PPC32)
    40     double tmp;
    40     double tmp;
    41     asm volatile ("lfd  %0, 0(%1)\n"
    41     asm volatile ("lfd  %0, %2\n"
    42                   "stfd %0, 0(%2)\n"
    42                   "stfd %0, %1\n"
    43                   : "=f"(tmp)
    43                   : "=&f"(tmp), "=Q"(*(volatile double*)dst)
    44                   : "b"(src), "b"(dst));
    44                   : "Q"(*(volatile double*)src));
    45 #elif defined(S390) && !defined(_LP64)
    45 #elif defined(S390) && !defined(_LP64)
    46     double tmp;
    46     double tmp;
    47     asm volatile ("ld  %0, 0(%1)\n"
    47     asm volatile ("ld  %0, 0(%1)\n"
    48                   "std %0, 0(%2)\n"
    48                   "std %0, 0(%2)\n"
    49                   : "=r"(tmp)
    49                   : "=r"(tmp)