--- a/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp Fri May 13 06:36:52 2016 +0000
+++ b/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp Fri May 13 22:21:54 2016 +0300
@@ -2563,15 +2563,21 @@
if (is_64bit) {
__ cmpxchgd(BOOL_RESULT, /*current_value=*/R0, cmp_value, new_value, addr,
- MacroAssembler::MemBarFenceAfter,
+ MacroAssembler::MemBarNone,
MacroAssembler::cmpxchgx_hint_atomic_update(),
noreg, NULL, /*check without ldarx first*/true);
} else {
__ cmpxchgw(BOOL_RESULT, /*current_value=*/R0, cmp_value, new_value, addr,
- MacroAssembler::MemBarFenceAfter,
+ MacroAssembler::MemBarNone,
MacroAssembler::cmpxchgx_hint_atomic_update(),
noreg, /*check without ldarx first*/true);
}
+
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ isync();
+ } else {
+ __ sync();
+ }
}