comparison src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 7f77d17d0f13
children
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
76 intptr_t rv; 76 intptr_t rv;
77 #ifdef _LP64 77 #ifdef _LP64
78 __asm__ volatile( 78 __asm__ volatile(
79 "1: \n\t" 79 "1: \n\t"
80 " ldx [%2], %%o2\n\t" 80 " ldx [%2], %%o2\n\t"
81 " add %0, %%o2, %%o3\n\t" 81 " add %1, %%o2, %%o3\n\t"
82 " casx [%2], %%o2, %%o3\n\t" 82 " casx [%2], %%o2, %%o3\n\t"
83 " cmp %%o2, %%o3\n\t" 83 " cmp %%o2, %%o3\n\t"
84 " bne %%xcc, 1b\n\t" 84 " bne %%xcc, 1b\n\t"
85 " nop\n\t" 85 " nop\n\t"
86 " add %0, %%o2, %0\n\t" 86 " add %1, %%o2, %0\n\t"
87 : "=r" (rv) 87 : "=r" (rv)
88 : "r" (add_value), "r" (dest) 88 : "r" (add_value), "r" (dest)
89 : "memory", "o2", "o3"); 89 : "memory", "o2", "o3");
90 #else 90 #else
91 __asm__ volatile( 91 __asm__ volatile(