src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp

changeset 192
21e5e0259a4c
parent 124
9d7e35a93fad
child 6876
710a3c8b516e
equal deleted inserted replaced
191:2f53535fd1f5 192:21e5e0259a4c
3236 beg_bit = bitmap->find_obj_beg(beg_bit + live_bits, range_end); 3236 beg_bit = bitmap->find_obj_beg(beg_bit + live_bits, range_end);
3237 while (beg_bit < range_end) { 3237 while (beg_bit < range_end) {
3238 const size_t new_block = beg_bit >> Log2BitsPerBlock; 3238 const size_t new_block = beg_bit >> Log2BitsPerBlock;
3239 if (new_block != cur_block) { 3239 if (new_block != cur_block) {
3240 cur_block = new_block; 3240 cur_block = new_block;
3241 #ifdef MIPS64
3242 /* 2016/5/4 Jin: On 3A2000-B, when multiple threads write to
3243 the same memory location without explict synchronization,
3244 sync is required for access correctness. */
3245 if (Use3A2000) OrderAccess::fence();
3246 #endif
3247 sd.block(cur_block)->set_offset(bitmap->bits_to_words(live_bits)); 3241 sd.block(cur_block)->set_offset(bitmap->bits_to_words(live_bits));
3248 #ifdef MIPS64 3242 #ifdef MIPS64
3249 if (Use3A2000) OrderAccess::fence(); 3243 if (Use3A2000) OrderAccess::fence();
3250 #endif 3244 #endif
3251 } 3245 }

mercurial