49 # include "atomic_solaris_sparc.inline.hpp" |
49 # include "atomic_solaris_sparc.inline.hpp" |
50 #endif |
50 #endif |
51 #ifdef TARGET_OS_ARCH_windows_x86 |
51 #ifdef TARGET_OS_ARCH_windows_x86 |
52 # include "atomic_windows_x86.inline.hpp" |
52 # include "atomic_windows_x86.inline.hpp" |
53 #endif |
53 #endif |
|
54 #ifdef TARGET_OS_ARCH_linux_arm |
|
55 # include "atomic_linux_arm.inline.hpp" |
|
56 #endif |
|
57 #ifdef TARGET_OS_ARCH_linux_ppc |
|
58 # include "atomic_linux_ppc.inline.hpp" |
|
59 #endif |
54 |
60 |
55 jbyte Atomic::cmpxchg(jbyte exchange_value, volatile jbyte* dest, jbyte compare_value) { |
61 jbyte Atomic::cmpxchg(jbyte exchange_value, volatile jbyte* dest, jbyte compare_value) { |
56 assert(sizeof(jbyte) == 1, "assumption."); |
62 assert(sizeof(jbyte) == 1, "assumption."); |
57 uintptr_t dest_addr = (uintptr_t)dest; |
63 uintptr_t dest_addr = (uintptr_t)dest; |
58 uintptr_t offset = dest_addr % sizeof(jint); |
64 uintptr_t offset = dest_addr % sizeof(jint); |