1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Fri Apr 29 12:46:05 2016 -0400 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Tue May 03 13:57:12 2016 -0400 1.3 @@ -3233,6 +3233,13 @@ 1.4 if (new_block != cur_block) { 1.5 cur_block = new_block; 1.6 sd.block(cur_block)->set_offset(bitmap->bits_to_words(live_bits)); 1.7 + 1.8 +#ifdef MIPS64 1.9 + /* 2016/5/4 Jin: On 3A2000-B, when multiple threads write to 1.10 + the same memory location without explict synchronization, 1.11 + sync is required for access correctness. */ 1.12 + OrderAccess::fence(); 1.13 +#endif 1.14 } 1.15 1.16 const size_t end_bit = bitmap->find_obj_end(beg_bit, range_end);