8014022: G1: Non Java threads should lock the shared SATB queue lock without safepoint checks.

Sun, 30 Jun 2013 21:42:07 +0200

author
brutisso
date
Sun, 30 Jun 2013 21:42:07 +0200
changeset 5341
b30744960351
parent 5340
3ea89789ba39
child 5342
5ea20b3bd249

8014022: G1: Non Java threads should lock the shared SATB queue lock without safepoint checks.
Reviewed-by: tschatzl, brutisso, jmasa, ysr
Contributed-by: per.liden@oracle.com

src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp	Fri Jun 28 18:28:17 2013 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp	Sun Jun 30 21:42:07 2013 +0200
     1.3 @@ -47,7 +47,7 @@
     1.4      JavaThread* jt = (JavaThread*)thr;
     1.5      jt->satb_mark_queue().enqueue(pre_val);
     1.6    } else {
     1.7 -    MutexLocker x(Shared_SATB_Q_lock);
     1.8 +    MutexLockerEx x(Shared_SATB_Q_lock, Mutex::_no_safepoint_check_flag);
     1.9      JavaThread::satb_mark_queue_set().shared_satb_queue()->enqueue(pre_val);
    1.10    }
    1.11  }

mercurial