[资料] HotSpot中这么多的Mutex Locker知多少
william_ai
2011-09-07
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RednaxelaFX
2011-09-07
Good!多谢!
能列一下你收集这些信息碰到的源码文件么?看看全不全。 我之前也整理了一份类似的列表,让我找找看放哪儿了… |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
william_ai
2011-09-07
awk '/extern/{a="|"$2"|"substr($3,0,length($3)-1)"|";for(i=5;i<=NF;i++){a=a" "$i};print a}' /home/jdk/install/openjdk/hotspot/src/share/vm/runtime/mutexLocker.hpp
从源码里cut出来的。在找还有没有别的locker。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RednaxelaFX
2011-09-07
嗯还有若干个不在那个文件里的。
随手搜一下能找到这些: hotspot\src\os\linux\vm\osThread_linux.cpp:61: _startThread_lock = new Monitor(Mutex::event, "startThread_lock", true); hotspot\src\share\vm\compiler\compileBroker.hpp:62: _lock = new Monitor(Mutex::nonleaf+2, "CompileTaskLock"); hotspot\src\share\vm\gc_implementation\g1\concurrentG1RefineThread.cpp:53: _monitor = new Monitor(Mutex::nonleaf, "Refinement monitor", true); hotspot\src\share\vm\gc_implementation\parallelScavenge\gcTaskManager.cpp:369: _monitor = new Monitor(Mutex::barrier, // rank hotspot\src\share\vm\gc_implementation\parallelScavenge\gcTaskManager.cpp:905: result = new Monitor(Mutex::barrier, // rank hotspot\src\share\vm\gc_implementation\shared\concurrentGCThread.cpp:109: _m = new Monitor(Mutex::leaf, hotspot\src\share\vm\runtime\mutexLocker.cpp:49:Monitor* SystemDictionary_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:59:Monitor* JNICritical_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:61:Monitor* JvmtiPendingEvent_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:62:Monitor* Heap_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:72:Monitor* VMOperationQueue_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:73:Monitor* VMOperationRequest_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:74:Monitor* Safepoint_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:75:Monitor* SerializePage_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:76:Monitor* Threads_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:77:Monitor* CGC_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:79:Monitor* SLT_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:80:Monitor* iCMS_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:81:Monitor* FullGCCount_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:82:Monitor* CMark_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:85:Monitor* SATB_Q_CBL_mon = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:88:Monitor* DirtyCardQ_CBL_mon = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:94:Monitor* MethodCompileQueue_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:95:Monitor* CompileThread_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:99:Monitor* Terminator_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:100:Monitor* BeforeExit_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:101:Monitor* Notify_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:102:Monitor* Interrupt_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:103:Monitor* ProfileVM_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:106:Monitor* ObjAllocPost_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:124:Monitor* SecondaryFreeList_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:129:Monitor* GCTaskManager_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:132:Monitor* LowMemory_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:171: def(CGC_lock , Monitor, special, true ); // coordinate between fore- and background GC hotspot\src\share\vm\runtime\mutexLocker.cpp:174: def(iCMS_lock , Monitor, special, true ); // CMS incremental mode start/stop notification hotspot\src\share\vm\runtime\mutexLocker.cpp:177: def(FullGCCount_lock , Monitor, leaf, true ); // in support of ExplicitGCInvokesConcurrent hotspot\src\share\vm\runtime\mutexLocker.cpp:180: def(CMark_lock , Monitor, nonleaf, true ); // coordinate concurrent mark thread hotspot\src\share\vm\runtime\mutexLocker.cpp:183: def(SATB_Q_CBL_mon , Monitor, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:187: def(DirtyCardQ_CBL_mon , Monitor, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:191: def(SecondaryFreeList_lock , Monitor, leaf , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:200: def(Interrupt_lock , Monitor, special, true ); // used for interrupt processing hotspot\src\share\vm\runtime\mutexLocker.cpp:205: def(ObjAllocPost_lock , Monitor, special, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:206: def(LowMemory_lock , Monitor, special, true ); // used for low memory detection hotspot\src\share\vm\runtime\mutexLocker.cpp:209: def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread hotspot\src\share\vm\runtime\mutexLocker.cpp:225: def(BeforeExit_lock , Monitor, leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:233: def(Safepoint_lock , Monitor, safepoint, true ); // locks SnippetCache_lock/Threads_lock hotspot\src\share\vm\runtime\mutexLocker.cpp:235: def(Threads_lock , Monitor, barrier, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:237: def(VMOperationQueue_lock , Monitor, nonleaf, true ); // VM_thread allowed to block on these hotspot\src\share\vm\runtime\mutexLocker.cpp:238: def(VMOperationRequest_lock , Monitor, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:240: def(Terminator_lock , Monitor, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:242: def(Notify_lock , Monitor, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:244: def(JNICritical_lock , Monitor, nonleaf, true ); // used for JNI critical regions hotspot\src\share\vm\runtime\mutexLocker.cpp:247: def(SLT_lock , Monitor, nonleaf, false ); hotspot\src\share\vm\runtime\mutexLocker.cpp:250: def(Heap_lock , Monitor, nonleaf+1, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:260: def(JvmtiPendingEvent_lock , Monitor, nonleaf, false); // Used by JvmtiCodeBlobEvents hotspot\src\share\vm\runtime\mutexLocker.cpp:266: def(MethodCompileQueue_lock , Monitor, nonleaf+4, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:269: def(ProfileVM_lock , Monitor, nonleaf+4, false); // used for profiling of the VMThread hotspot\src\share\vm\runtime\mutexLocker.cpp:270: def(CompileThread_lock , Monitor, nonleaf+5, false ); hotspot\src\share\vm\runtime\mutexLocker.hpp:43:extern Monitor* SystemDictionary_lock; // a lock on the system dictonary hotspot\src\share\vm\runtime\mutexLocker.hpp:53:extern Monitor* JNICritical_lock; // a lock used while entering and exiting JNI critical regions, allows GC to sometimes get in hotspot\src\share\vm\runtime\mutexLocker.hpp:55:extern Monitor* JvmtiPendingEvent_lock; // a lock on the JVMTI pending events list hotspot\src\share\vm\runtime\mutexLocker.hpp:56:extern Monitor* Heap_lock; // a lock on the heap hotspot\src\share\vm\runtime\mutexLocker.hpp:67:extern Monitor* VMOperationQueue_lock; // a lock on queue of vm_operations waiting to execute hotspot\src\share\vm\runtime\mutexLocker.hpp:68:extern Monitor* VMOperationRequest_lock; // a lock on Threads waiting for a vm_operation to terminate hotspot\src\share\vm\runtime\mutexLocker.hpp:69:extern Monitor* Safepoint_lock; // a lock used by the safepoint abstraction hotspot\src\share\vm\runtime\mutexLocker.hpp:70:extern Monitor* Threads_lock; // a lock on the Threads table of active Java threads hotspot\src\share\vm\runtime\mutexLocker.hpp:72:extern Monitor* CGC_lock; // used for coordination between hotspot\src\share\vm\runtime\mutexLocker.hpp:75:extern Monitor* SLT_lock; // used in CMS GC for acquiring PLL hotspot\src\share\vm\runtime\mutexLocker.hpp:76:extern Monitor* iCMS_lock; // CMS incremental mode start/stop notification hotspot\src\share\vm\runtime\mutexLocker.hpp:77:extern Monitor* FullGCCount_lock; // in support of "concurrent" full gc hotspot\src\share\vm\runtime\mutexLocker.hpp:78:extern Monitor* CMark_lock; // used for concurrent mark thread coordination hotspot\src\share\vm\runtime\mutexLocker.hpp:82:extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q hotspot\src\share\vm\runtime\mutexLocker.hpp:90:extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q hotspot\src\share\vm\runtime\mutexLocker.hpp:99:extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued hotspot\src\share\vm\runtime\mutexLocker.hpp:100:extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization hotspot\src\share\vm\runtime\mutexLocker.hpp:104:extern Monitor* Terminator_lock; // a lock used to guard termination of the vm hotspot\src\share\vm\runtime\mutexLocker.hpp:105:extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks hotspot\src\share\vm\runtime\mutexLocker.hpp:106:extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm hotspot\src\share\vm\runtime\mutexLocker.hpp:107:extern Monitor* Interrupt_lock; // a lock used for condition variable mediated interrupt processing hotspot\src\share\vm\runtime\mutexLocker.hpp:108:extern Monitor* ProfileVM_lock; // a lock used for profiling the VMThread hotspot\src\share\vm\runtime\mutexLocker.hpp:127:extern Monitor* SecondaryFreeList_lock; // protects the secondary free region list hotspot\src\share\vm\runtime\mutexLocker.hpp:134:extern Monitor* LowMemory_lock; // a lock used for low memory detection hotspot\src\share\vm\runtime\thread.cpp:221: _SR_lock = new Monitor(Mutex::suspend_resume, "SR_lock", true); hotspot\src\share\vm\runtime\vmThread.cpp:225: _terminate_lock = new Monitor(Mutex::safepoint, "VMThread::_terminate_lock", true); hotspot\src\share\vm\runtime\vm_operations.cpp:392: Monitor timer(Mutex::leaf, "VM_Exit timer", true); hotspot\src\share\vm\shark\sharkCompiler.cpp:65: _execution_engine_lock = new Monitor(Mutex::leaf, "SharkExecutionEngineLock"); hotspot\src\share\vm\utilities\workgroup.cpp:44: _monitor = new Monitor(/* priority */ Mutex::leaf, hotspot\src\os\linux\vm\osThread_linux.cpp:61: _startThread_lock = new Monitor(Mutex::event, "startThread_lock", true); hotspot\src\os\linux\vm\os_linux.cpp:4130: Linux::set_createThread_lock(new Mutex(Mutex::leaf, "createThread_lock", false)); hotspot\src\os\solaris\vm\osThread_solaris.cpp:52: : new Mutex(Mutex::suspend_resume, "Callback_lock", true); hotspot\src\share\vm\compiler\compileBroker.hpp:62: _lock = new Monitor(Mutex::nonleaf+2, "CompileTaskLock"); hotspot\src\share\vm\gc_implementation\concurrentMarkSweep\compactibleFreeListSpace.cpp:82: _parDictionaryAllocLock(Mutex::leaf - 1, // == rank(ExpandHeap_lock) - 1 hotspot\src\share\vm\gc_implementation\concurrentMarkSweep\compactibleFreeListSpace.cpp:147: _indexedFreeListParLocks[i] = new Mutex(Mutex::leaf - 1, // == ExpandHeap_lock - 1 hotspot\src\share\vm\gc_implementation\concurrentMarkSweep\concurrentMarkSweepGeneration.cpp:558: _markBitMap(0, Mutex::leaf + 1, "CMS_markBitMap_lock"), hotspot\src\share\vm\gc_implementation\concurrentMarkSweep\concurrentMarkSweepGeneration.cpp:591: _verification_mark_bm(0, Mutex::leaf + 1, "CMS_verification_mark_bm_lock"), hotspot\src\share\vm\gc_implementation\concurrentMarkSweep\concurrentMarkSweepGeneration.cpp:6407: _lock(mutex_rank >= 0 ? new Mutex(mutex_rank, mutex_name, true) : NULL) hotspot\src\share\vm\gc_implementation\concurrentMarkSweep\concurrentMarkSweepGeneration.hpp:182: _par_lock(Mutex::event, "CMSMarkStack._par_lock", true), hotspot\src\share\vm\gc_implementation\g1\concurrentG1RefineThread.cpp:53: _monitor = new Monitor(Mutex::nonleaf, "Refinement monitor", true); hotspot\src\share\vm\gc_implementation\g1\g1CollectedHeap.cpp:4676: _stats_lock(Mutex::leaf, "parallel G1 stats lock", true), hotspot\src\share\vm\gc_implementation\g1\heapRegion.cpp:938: _par_alloc_lock(Mutex::leaf, "OffsetTableContigSpace par alloc lock", true), hotspot\src\share\vm\gc_implementation\g1\heapRegionRemSet.cpp:501: _m(Mutex::leaf, "An OtherRegionsTable lock", true), hotspot\src\share\vm\gc_implementation\parallelScavenge\gcTaskManager.cpp:369: _monitor = new Monitor(Mutex::barrier, // rank hotspot\src\share\vm\gc_implementation\parallelScavenge\gcTaskManager.cpp:890: _lock = new Mutex(Mutex::barrier, // rank hotspot\src\share\vm\gc_implementation\parallelScavenge\gcTaskManager.cpp:905: result = new Monitor(Mutex::barrier, // rank hotspot\src\share\vm\gc_implementation\shared\concurrentGCThread.cpp:109: _m = new Monitor(Mutex::leaf, "SuspendibleThreadSetLock", true); hotspot\src\share\vm\gc_implementation\shared\concurrentGCThread.cpp:184: _monitor(Mutex::nonleaf, "SLTMonitor"), hotspot\src\share\vm\interpreter\oopMapCache.cpp:507: _mut(Mutex::leaf, "An OopMapCache lock", true) hotspot\src\share\vm\memory\space.cpp:954: _par_alloc_lock(Mutex::leaf, "OffsetTableContigSpace par alloc lock", true) hotspot\src\share\vm\prims\jvm.cpp:3655: return new Mutex(Mutex::native, "JVM_RawMonitorCreate"); hotspot\src\share\vm\prims\jvmtiTagMap.cpp:419: _lock(Mutex::nonleaf+2, "JvmtiTagMap._lock", false), hotspot\src\share\vm\runtime\mutexLocker.cpp:48:Mutex* Patching_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:50:Mutex* PackageTable_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:51:Mutex* CompiledIC_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:52:Mutex* InlineCacheBuffer_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:53:Mutex* VMStatistic_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:54:Mutex* JNIGlobalHandle_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:55:Mutex* JNIHandleBlockFreeList_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:56:Mutex* JNICachedItableIndex_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:57:Mutex* JmethodIdCreation_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:58:Mutex* JfieldIdCreation_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:60:Mutex* JvmtiThreadState_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:63:Mutex* ExpandHeap_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:64:Mutex* AdapterHandlerLibrary_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:65:Mutex* SignatureHandlerLibrary_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:66:Mutex* VtableStubs_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:67:Mutex* SymbolTable_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:68:Mutex* StringTable_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:69:Mutex* CodeCache_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:70:Mutex* MethodData_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:71:Mutex* RetData_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:78:Mutex* STS_init_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:83:Mutex* CMRegionStack_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:84:Mutex* SATB_Q_FL_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:86:Mutex* Shared_SATB_Q_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:87:Mutex* DirtyCardQ_FL_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:89:Mutex* Shared_DirtyCardQ_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:90:Mutex* ParGCRareEvent_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:91:Mutex* EvacFailureStack_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:92:Mutex* DerivedPointerTableGC_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:93:Mutex* Compile_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:96:Mutex* CompileTaskAlloc_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:97:Mutex* CompileStatistics_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:98:Mutex* MultiArray_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:104:Mutex* ProfilePrint_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:105:Mutex* ExceptionCache_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:107:Mutex* OsrList_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:109:Mutex* FullGCALot_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:112:Mutex* Debug1_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:113:Mutex* Debug2_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:114:Mutex* Debug3_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:116:Mutex* tty_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:118:Mutex* RawMonitor_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:119:Mutex* PerfDataMemAlloc_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:120:Mutex* PerfDataManager_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:121:Mutex* OopMapCacheAlloc_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:123:Mutex* FreeList_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:125:Mutex* OldSets_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:126:Mutex* MMUTracker_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:127:Mutex* HotCardCache_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:131:Mutex* Management_lock = NULL; hotspot\src\share\vm\runtime\mutexLocker.cpp:169: def(tty_lock , Mutex , event, true ); // allow to lock in VM hotspot\src\share\vm\runtime\mutexLocker.cpp:172: def(STS_init_lock , Mutex, leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:181: def(CMRegionStack_lock , Mutex, leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:182: def(SATB_Q_FL_lock , Mutex , special, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:184: def(Shared_SATB_Q_lock , Mutex, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:186: def(DirtyCardQ_FL_lock , Mutex , special, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:188: def(Shared_DirtyCardQ_lock , Mutex, nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:190: def(FreeList_lock , Mutex, leaf , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:192: def(OldSets_lock , Mutex , leaf , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:193: def(MMUTracker_lock , Mutex , leaf , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:194: def(HotCardCache_lock , Mutex , special , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:195: def(EvacFailureStack_lock , Mutex , nonleaf , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:197: def(ParGCRareEvent_lock , Mutex , leaf , true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:198: def(DerivedPointerTableGC_lock , Mutex, leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:199: def(CodeCache_lock , Mutex , special, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:201: def(RawMonitor_lock , Mutex, special, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:202: def(OopMapCacheAlloc_lock , Mutex, leaf, true ); // used for oop_map_cache allocation. hotspot\src\share\vm\runtime\mutexLocker.cpp:204: def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching. hotspot\src\share\vm\runtime\mutexLocker.cpp:207: def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs. hotspot\src\share\vm\runtime\mutexLocker.cpp:210: def(PackageTable_lock , Mutex , leaf, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:211: def(InlineCacheBuffer_lock , Mutex , leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:212: def(VMStatistic_lock , Mutex , leaf, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:213: def(ExpandHeap_lock , Mutex , leaf, true ); // Used during compilation by VM thread hotspot\src\share\vm\runtime\mutexLocker.cpp:214: def(JNIHandleBlockFreeList_lock , Mutex , leaf, true ); // handles are used by VM thread hotspot\src\share\vm\runtime\mutexLocker.cpp:215: def(SignatureHandlerLibrary_lock , Mutex , leaf, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:216: def(SymbolTable_lock , Mutex , leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:217: def(StringTable_lock , Mutex , leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:218: def(ProfilePrint_lock , Mutex , leaf, false); // serial profile printing hotspot\src\share\vm\runtime\mutexLocker.cpp:219: def(ExceptionCache_lock , Mutex , leaf, false); // serial profile printing hotspot\src\share\vm\runtime\mutexLocker.cpp:220: def(OsrList_lock , Mutex , leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:221: def(Debug1_lock , Mutex , leaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:223: def(FullGCALot_lock , Mutex , leaf, false); // a lock to make FullGCALot MT safe hotspot\src\share\vm\runtime\mutexLocker.cpp:226: def(PerfDataMemAlloc_lock , Mutex , leaf, true ); // used for allocating PerfData memory for performance data hotspot\src\share\vm\runtime\mutexLocker.cpp:227: def(PerfDataManager_lock , Mutex , leaf, true ); // used for synchronized access to PerfDataManager resources hotspot\src\share\vm\runtime\mutexLocker.cpp:239: def(RetData_lock , Mutex , nonleaf, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:241: def(VtableStubs_lock , Mutex , nonleaf, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:243: def(JNIGlobalHandle_lock , Mutex , nonleaf, true ); // locks JNIHandleBlockFreeList_lock hotspot\src\share\vm\runtime\mutexLocker.cpp:245: def(AdapterHandlerLibrary_lock , Mutex , nonleaf, true); hotspot\src\share\vm\runtime\mutexLocker.cpp:251: def(JfieldIdCreation_lock , Mutex , nonleaf+1, true ); // jfieldID, Used in VM_Operation hotspot\src\share\vm\runtime\mutexLocker.cpp:252: def(JNICachedItableIndex_lock , Mutex , nonleaf+1, false); // Used to cache an itable index during JNI invoke hotspot\src\share\vm\runtime\mutexLocker.cpp:254: def(CompiledIC_lock , Mutex , nonleaf+2, false); // locks VtableStubs_lock, InlineCacheBuffer_lock hotspot\src\share\vm\runtime\mutexLocker.cpp:255: def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:256: def(CompileStatistics_lock , Mutex , nonleaf+2, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:257: def(MultiArray_lock , Mutex , nonleaf+2, false); // locks SymbolTable_lock hotspot\src\share\vm\runtime\mutexLocker.cpp:259: def(JvmtiThreadState_lock , Mutex , nonleaf+2, false); // Used by JvmtiThreadState/JvmtiEventController hotspot\src\share\vm\runtime\mutexLocker.cpp:261: def(Management_lock , Mutex , nonleaf+2, false); // used for JVM management hotspot\src\share\vm\runtime\mutexLocker.cpp:263: def(Compile_lock , Mutex , nonleaf+3, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:264: def(MethodData_lock , Mutex , nonleaf+3, false); hotspot\src\share\vm\runtime\mutexLocker.cpp:267: def(Debug2_lock , Mutex , nonleaf+4, true ); hotspot\src\share\vm\runtime\mutexLocker.cpp:268: def(Debug3_lock , Mutex , nonleaf+4, true ); hotspot\src\share\vm\runtime\mutexLocker.hpp:42:extern Mutex* Patching_lock; // a lock used to guard code patching of compiled code hotspot\src\share\vm\runtime\mutexLocker.hpp:44:extern Mutex* PackageTable_lock; // a lock on the class loader package table hotspot\src\share\vm\runtime\mutexLocker.hpp:45:extern Mutex* CompiledIC_lock; // a lock used to guard compiled IC patching and access hotspot\src\share\vm\runtime\mutexLocker.hpp:46:extern Mutex* InlineCacheBuffer_lock; // a lock used to guard the InlineCacheBuffer hotspot\src\share\vm\runtime\mutexLocker.hpp:47:extern Mutex* VMStatistic_lock; // a lock used to guard statistics count increment hotspot\src\share\vm\runtime\mutexLocker.hpp:48:extern Mutex* JNIGlobalHandle_lock; // a lock on creating JNI global handles hotspot\src\share\vm\runtime\mutexLocker.hpp:49:extern Mutex* JNIHandleBlockFreeList_lock; // a lock on the JNI handle block free list hotspot\src\share\vm\runtime\mutexLocker.hpp:50:extern Mutex* JNICachedItableIndex_lock; // a lock on caching an itable index during JNI invoke hotspot\src\share\vm\runtime\mutexLocker.hpp:51:extern Mutex* JmethodIdCreation_lock; // a lock on creating JNI method identifiers hotspot\src\share\vm\runtime\mutexLocker.hpp:52:extern Mutex* JfieldIdCreation_lock; // a lock on creating JNI static field identifiers hotspot\src\share\vm\runtime\mutexLocker.hpp:54:extern Mutex* JvmtiThreadState_lock; // a lock on modification of JVMTI thread data hotspot\src\share\vm\runtime\mutexLocker.hpp:57:extern Mutex* ExpandHeap_lock; // a lock on expanding the heap hotspot\src\share\vm\runtime\mutexLocker.hpp:58:extern Mutex* AdapterHandlerLibrary_lock; // a lock on the AdapterHandlerLibrary hotspot\src\share\vm\runtime\mutexLocker.hpp:59:extern Mutex* SignatureHandlerLibrary_lock; // a lock on the SignatureHandlerLibrary hotspot\src\share\vm\runtime\mutexLocker.hpp:60:extern Mutex* VtableStubs_lock; // a lock on the VtableStubs hotspot\src\share\vm\runtime\mutexLocker.hpp:61:extern Mutex* SymbolTable_lock; // a lock on the symbol table hotspot\src\share\vm\runtime\mutexLocker.hpp:62:extern Mutex* StringTable_lock; // a lock on the interned string table hotspot\src\share\vm\runtime\mutexLocker.hpp:63:extern Mutex* CodeCache_lock; // a lock on the CodeCache, rank is special, use MutexLockerEx hotspot\src\share\vm\runtime\mutexLocker.hpp:64:extern Mutex* MethodData_lock; // a lock on installation of method data hotspot\src\share\vm\runtime\mutexLocker.hpp:65:extern Mutex* RetData_lock; // a lock on installation of RetData inside method data hotspot\src\share\vm\runtime\mutexLocker.hpp:66:extern Mutex* DerivedPointerTableGC_lock; // a lock to protect the derived pointer table hotspot\src\share\vm\runtime\mutexLocker.hpp:74:extern Mutex* STS_init_lock; // coordinate initialization of SuspendibleThreadSets. hotspot\src\share\vm\runtime\mutexLocker.hpp:79:extern Mutex* CMRegionStack_lock; // used for protecting accesses to the CM region stack hotspot\src\share\vm\runtime\mutexLocker.hpp:80:extern Mutex* SATB_Q_FL_lock; // Protects SATB Q hotspot\src\share\vm\runtime\mutexLocker.hpp:84:extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB hotspot\src\share\vm\runtime\mutexLocker.hpp:88:extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q hotspot\src\share\vm\runtime\mutexLocker.hpp:92:extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card hotspot\src\share\vm\runtime\mutexLocker.hpp:96:extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops. hotspot\src\share\vm\runtime\mutexLocker.hpp:97:extern Mutex* EvacFailureStack_lock; // guards the evac failure scan stack hotspot\src\share\vm\runtime\mutexLocker.hpp:98:extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc) hotspot\src\share\vm\runtime\mutexLocker.hpp:101:extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated hotspot\src\share\vm\runtime\mutexLocker.hpp:102:extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics hotspot\src\share\vm\runtime\mutexLocker.hpp:103:extern Mutex* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays hotspot\src\share\vm\runtime\mutexLocker.hpp:109:extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles hotspot\src\share\vm\runtime\mutexLocker.hpp:110:extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates hotspot\src\share\vm\runtime\mutexLocker.hpp:111:extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues hotspot\src\share\vm\runtime\mutexLocker.hpp:114:extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe hotspot\src\share\vm\runtime\mutexLocker.hpp:116:extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing hotspot\src\share\vm\runtime\mutexLocker.hpp:117:extern Mutex* Debug2_lock; // down synchronization related bugs! hotspot\src\share\vm\runtime\mutexLocker.hpp:118:extern Mutex* Debug3_lock; hotspot\src\share\vm\runtime\mutexLocker.hpp:120:extern Mutex* RawMonitor_lock; hotspot\src\share\vm\runtime\mutexLocker.hpp:121:extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data hotspot\src\share\vm\runtime\mutexLocker.hpp:122:extern Mutex* PerfDataManager_lock; // a long on access to PerfDataManager resources hotspot\src\share\vm\runtime\mutexLocker.hpp:123:extern Mutex* ParkerFreeList_lock; hotspot\src\share\vm\runtime\mutexLocker.hpp:124:extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches hotspot\src\share\vm\runtime\mutexLocker.hpp:126:extern Mutex* FreeList_lock; // protects the free region list during safepoints hotspot\src\share\vm\runtime\mutexLocker.hpp:128:extern Mutex* OldSets_lock; // protects the old region sets hotspot\src\share\vm\runtime\mutexLocker.hpp:129:extern Mutex* MMUTracker_lock; // protects the MMU hotspot\src\share\vm\runtime\mutexLocker.hpp:131:extern Mutex* HotCardCache_lock; // protects the hot card cache hotspot\src\share\vm\runtime\mutexLocker.hpp:133:extern Mutex* Management_lock; // a lock used to serialize JVM management hotspot\src\share\vm\runtime\thread.cpp:221: _SR_lock = new Monitor(Mutex::suspend_resume, "SR_lock", true); hotspot\src\share\vm\runtime\vmThread.cpp:225: _terminate_lock = new Monitor(Mutex::safepoint, "VMThread::_terminate_lock", true); hotspot\src\share\vm\runtime\vm_operations.cpp:392: Monitor timer(Mutex::leaf, "VM_Exit timer", true); hotspot\src\share\vm\services\memoryManager.cpp:202: _last_gc_lock = new Mutex(Mutex::leaf, "_last_gc_lock", true); hotspot\src\share\vm\services\memoryManager.hpp:166: Mutex* _last_gc_lock; hotspot\src\share\vm\shark\sharkCompiler.cpp:65: _execution_engine_lock = new Monitor(Mutex::leaf, "SharkExecutionEngineLock"); hotspot\src\share\vm\utilities\ostream.cpp:310:extern Mutex* tty_lock; |