8014022: G1: Non Java threads should lock the shared SATB queue lock without safepoint checks.
authorbrutisso
Sun, 30 Jun 2013 21:42:07 +0200
changeset 18495 65a0d2ae4b22
parent 18494 05086d4c7a3a
child 18496 78b3897aa229
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
hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp
--- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp	Fri Jun 28 18:28:17 2013 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp	Sun Jun 30 21:42:07 2013 +0200
@@ -47,7 +47,7 @@
     JavaThread* jt = (JavaThread*)thr;
     jt->satb_mark_queue().enqueue(pre_val);
   } else {
-    MutexLocker x(Shared_SATB_Q_lock);
+    MutexLockerEx x(Shared_SATB_Q_lock, Mutex::_no_safepoint_check_flag);
     JavaThread::satb_mark_queue_set().shared_satb_queue()->enqueue(pre_val);
   }
 }