Sat, 17 Sep 2016 03:44:08 -0400
Sync before write on 3A2000 (Follow changeset 9f90c85c6815).
src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Mon Sep 12 13:59:25 2016 -0400 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Sat Sep 17 03:44:08 2016 -0400 1.3 @@ -3232,14 +3232,13 @@ 1.4 const size_t new_block = beg_bit >> Log2BitsPerBlock; 1.5 if (new_block != cur_block) { 1.6 cur_block = new_block; 1.7 - sd.block(cur_block)->set_offset(bitmap->bits_to_words(live_bits)); 1.8 - 1.9 #ifdef MIPS64 1.10 /* 2016/5/4 Jin: On 3A2000-B, when multiple threads write to 1.11 the same memory location without explict synchronization, 1.12 sync is required for access correctness. */ 1.13 OrderAccess::fence(); 1.14 #endif 1.15 + sd.block(cur_block)->set_offset(bitmap->bits_to_words(live_bits)); 1.16 } 1.17 1.18 const size_t end_bit = bitmap->find_obj_end(beg_bit, range_end);