8237143: Eliminate DirtyCardQ_cbl_mon

Replace locked data structures with lock-free data structures.

Reviewed-by: tschatzl, sangheki
This commit is contained in:
Kim Barrett 2020-02-06 19:09:07 -05:00
parent e37a6aed88
commit ccbd819a01
10 changed files with 569 additions and 198 deletions

View file

@ -73,7 +73,6 @@ Monitor* CGC_lock = NULL;
Monitor* STS_lock = NULL;
Monitor* FullGCCount_lock = NULL;
Monitor* G1OldGCCount_lock = NULL;
Monitor* DirtyCardQ_CBL_mon = NULL;
Mutex* Shared_DirtyCardQ_lock = NULL;
Mutex* MarkStackFreeList_lock = NULL;
Mutex* MarkStackChunkList_lock = NULL;
@ -211,7 +210,6 @@ void mutex_init() {
if (UseG1GC) {
def(G1OldGCCount_lock , PaddedMonitor, leaf, true, _safepoint_check_always);
def(DirtyCardQ_CBL_mon , PaddedMonitor, access, true, _safepoint_check_never);
def(Shared_DirtyCardQ_lock , PaddedMutex , access + 1, true, _safepoint_check_never);
def(FreeList_lock , PaddedMutex , leaf , true, _safepoint_check_never);