diff -r e134dc1879b7 -r 04d83ba48607 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp --- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Thu Sep 22 13:16:27 2016 -0700 +++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Thu May 24 17:06:56 2018 +0800 @@ -1329,6 +1329,9 @@ const int obj_size = obj->size(); if (mark_bitmap()->mark_obj(obj, obj_size)) { _summary_data.add_obj(obj, obj_size); +#ifdef MIPS64 + if (UseSyncLevel >= 2000) OrderAccess::fence(); +#endif return true; } else { return false; @@ -1363,6 +1366,9 @@ oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); if (mark_bitmap()->is_unmarked(obj) && mark_obj(obj)) { cm->push(obj); +#ifdef MIPS64 + if (UseSyncLevel >= 2000) OrderAccess::fence(); +#endif } } }