Sync before write on 3A2000 (Follow changeset 9f90c85c6815).

Sat, 17 Sep 2016 03:44:08 -0400

author
fujie
date
Sat, 17 Sep 2016 03:44:08 -0400
changeset 106
ebe1a38c3e4f
parent 105
b863b5fdce61
child 107
68d7c979cca6

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);

mercurial