diff -r e6aa4a8c1b46 -r 7ae4e26cb1e0 src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Mon Mar 16 11:49:32 2015 -0700 +++ b/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Thu Oct 12 21:27:07 2017 +0800 @@ -105,6 +105,9 @@ assert(end_bit_ok, "concurrency problem"); DEBUG_ONLY(Atomic::inc_ptr(&mark_bitmap_count)); DEBUG_ONLY(Atomic::add_ptr(size, &mark_bitmap_size)); +#ifdef MIPS64 + if (Use3A2000) OrderAccess::fence(); +#endif return true; } return false;