提交 dcbf8ca2 编写于 作者: B brutisso

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
上级 2c1bb8f6
...@@ -47,7 +47,7 @@ void G1SATBCardTableModRefBS::enqueue(oop pre_val) { ...@@ -47,7 +47,7 @@ void G1SATBCardTableModRefBS::enqueue(oop pre_val) {
JavaThread* jt = (JavaThread*)thr; JavaThread* jt = (JavaThread*)thr;
jt->satb_mark_queue().enqueue(pre_val); jt->satb_mark_queue().enqueue(pre_val);
} else { } 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); JavaThread::satb_mark_queue_set().shared_satb_queue()->enqueue(pre_val);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册