8129626: G1: set_in_progress() and clear_started() needs a barrier on non-TSO platforms

Also reviewed by vitalyd@gmail.com

Reviewed-by: pliden, bpittore, bdelsart
This commit is contained in:
Bengt Rutisson 2015-06-25 08:15:07 +02:00
parent d60d6fdf40
commit 5f4a67087f
3 changed files with 19 additions and 16 deletions

View file

@ -44,8 +44,7 @@ SurrogateLockerThread*
ConcurrentMarkThread::ConcurrentMarkThread(ConcurrentMark* cm) :
ConcurrentGCThread(),
_cm(cm),
_started(false),
_in_progress(false),
_state(Idle),
_vtime_accum(0.0),
_vtime_mark_accum(0.0) {
@ -307,7 +306,6 @@ void ConcurrentMarkThread::sleepBeforeNextCycle() {
if (started()) {
set_in_progress();
clear_started();
}
}