< prev index next >
src/share/vm/runtime/mutexLocker.cpp
Print this page
rev 8961 : [mq]: diff-shenandoah.patch
@@ -51,10 +51,13 @@
Mutex* JfieldIdCreation_lock = NULL;
Monitor* JNICritical_lock = NULL;
Mutex* JvmtiThreadState_lock = NULL;
Monitor* JvmtiPendingEvent_lock = NULL;
Monitor* Heap_lock = NULL;
+Monitor* ShenandoahHeap_lock = NULL;
+Monitor* ShenandoahFullGC_lock = NULL;
+Monitor* ShenandoahJNICritical_lock = NULL;
Mutex* ExpandHeap_lock = NULL;
Mutex* AdapterHandlerLibrary_lock = NULL;
Mutex* SignatureHandlerLibrary_lock = NULL;
Mutex* VtableStubs_lock = NULL;
Mutex* SymbolTable_lock = NULL;
@@ -98,10 +101,11 @@
Monitor* ProfileVM_lock = NULL;
Mutex* ProfilePrint_lock = NULL;
Mutex* ExceptionCache_lock = NULL;
Monitor* ObjAllocPost_lock = NULL;
Mutex* OsrList_lock = NULL;
+Monitor* ShenandoahMemProtect_lock = NULL;
#ifndef PRODUCT
Mutex* FullGCALot_lock = NULL;
#endif
@@ -201,10 +205,18 @@
def(MMUTracker_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
def(StringDedupQueue_lock , Monitor, leaf, true, Monitor::_safepoint_check_never);
def(StringDedupTable_lock , Mutex , leaf, true, Monitor::_safepoint_check_never);
}
+ if (UseShenandoahGC) {
+ def(SATB_Q_FL_lock , Mutex , special, true, Monitor::_safepoint_check_never);
+ def(SATB_Q_CBL_mon , Monitor, nonleaf, true, Monitor::_safepoint_check_never);
+ def(Shared_SATB_Q_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
+ def(ShenandoahFullGC_lock , Monitor, leaf, true, Monitor::_safepoint_check_always);
+ def(ShenandoahJNICritical_lock , Monitor, nonleaf+1, false, Monitor::_safepoint_check_never);
+ def(ShenandoahMemProtect_lock , Monitor, native, false, Monitor::_safepoint_check_never);
+ }
def(ParGCRareEvent_lock , Mutex , leaf , true, Monitor::_safepoint_check_sometimes);
def(DerivedPointerTableGC_lock , Mutex, leaf, true, Monitor::_safepoint_check_never);
def(CodeCache_lock , Mutex , special, true, Monitor::_safepoint_check_never);
def(Interrupt_lock , Monitor, special, true, Monitor::_safepoint_check_never); // used for interrupt processing
def(RawMonitor_lock , Mutex, special, true, Monitor::_safepoint_check_never);
@@ -255,10 +267,11 @@
if (UseConcMarkSweepGC) {
def(SLT_lock , Monitor, nonleaf, false, Monitor::_safepoint_check_never); // used in CMS GC for locking PLL lock
}
def(Heap_lock , Monitor, nonleaf+1, false, Monitor::_safepoint_check_sometimes);
+ def(ShenandoahHeap_lock , Monitor, special, false, Monitor::_safepoint_check_never);
def(JfieldIdCreation_lock , Mutex , nonleaf+1, true, Monitor::_safepoint_check_always); // jfieldID, Used in VM_Operation
def(MemberNameTable_lock , Mutex , nonleaf+1, false, Monitor::_safepoint_check_always); // Used to protect MemberNameTable
def(CompiledIC_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // locks VtableStubs_lock, InlineCacheBuffer_lock
def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true, Monitor::_safepoint_check_always);
< prev index next >