Mercurial > hg > truffle
comparison src/share/vm/runtime/mutexLocker.hpp @ 360:5d254928c888
Merge
author | ysr |
---|---|
date | Wed, 27 Aug 2008 11:20:46 -0700 |
parents | 1ee8caae33af |
children | 315a5d70b295 |
comparison
equal
deleted
inserted
replaced
341:d60e4e6d7f72 | 360:5d254928c888 |
---|---|
36 extern Mutex* JmethodIdCreation_lock; // a lock on creating JNI method identifiers | 36 extern Mutex* JmethodIdCreation_lock; // a lock on creating JNI method identifiers |
37 extern Mutex* JfieldIdCreation_lock; // a lock on creating JNI static field identifiers | 37 extern Mutex* JfieldIdCreation_lock; // a lock on creating JNI static field identifiers |
38 extern Monitor* JNICritical_lock; // a lock used while entering and exiting JNI critical regions, allows GC to sometimes get in | 38 extern Monitor* JNICritical_lock; // a lock used while entering and exiting JNI critical regions, allows GC to sometimes get in |
39 extern Mutex* JvmtiThreadState_lock; // a lock on modification of JVMTI thread data | 39 extern Mutex* JvmtiThreadState_lock; // a lock on modification of JVMTI thread data |
40 extern Monitor* JvmtiPendingEvent_lock; // a lock on the JVMTI pending events list | 40 extern Monitor* JvmtiPendingEvent_lock; // a lock on the JVMTI pending events list |
41 extern Mutex* Heap_lock; // a lock on the heap | 41 extern Monitor* Heap_lock; // a lock on the heap |
42 extern Mutex* ExpandHeap_lock; // a lock on expanding the heap | 42 extern Mutex* ExpandHeap_lock; // a lock on expanding the heap |
43 extern Mutex* AdapterHandlerLibrary_lock; // a lock on the AdapterHandlerLibrary | 43 extern Mutex* AdapterHandlerLibrary_lock; // a lock on the AdapterHandlerLibrary |
44 extern Mutex* SignatureHandlerLibrary_lock; // a lock on the SignatureHandlerLibrary | 44 extern Mutex* SignatureHandlerLibrary_lock; // a lock on the SignatureHandlerLibrary |
45 extern Mutex* VtableStubs_lock; // a lock on the VtableStubs | 45 extern Mutex* VtableStubs_lock; // a lock on the VtableStubs |
46 extern Mutex* SymbolTable_lock; // a lock on the symbol table | 46 extern Mutex* SymbolTable_lock; // a lock on the symbol table |
58 // fore- & background GC threads. | 58 // fore- & background GC threads. |
59 extern Mutex* STS_init_lock; // coordinate initialization of SuspendibleThreadSets. | 59 extern Mutex* STS_init_lock; // coordinate initialization of SuspendibleThreadSets. |
60 extern Monitor* SLT_lock; // used in CMS GC for acquiring PLL | 60 extern Monitor* SLT_lock; // used in CMS GC for acquiring PLL |
61 extern Monitor* iCMS_lock; // CMS incremental mode start/stop notification | 61 extern Monitor* iCMS_lock; // CMS incremental mode start/stop notification |
62 extern Monitor* FullGCCount_lock; // in support of "concurrent" full gc | 62 extern Monitor* FullGCCount_lock; // in support of "concurrent" full gc |
63 extern Monitor* CMark_lock; // used for concurrent mark thread coordination | |
64 extern Monitor* ZF_mon; // used for G1 conc zero-fill. | |
65 extern Monitor* Cleanup_mon; // used for G1 conc cleanup. | |
66 extern Monitor* G1ConcRefine_mon; // used for G1 conc-refine | |
67 // coordination. | |
68 | |
69 extern Mutex* SATB_Q_FL_lock; // Protects SATB Q | |
70 // buffer free list. | |
71 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q | |
72 // completed buffer queue. | |
73 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB | |
74 // queue shared by | |
75 // non-Java threads. | |
76 | |
77 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q | |
78 // buffer free list. | |
79 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q | |
80 // completed buffer queue. | |
81 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card | |
82 // queue shared by | |
83 // non-Java threads. | |
63 // (see option ExplicitGCInvokesConcurrent) | 84 // (see option ExplicitGCInvokesConcurrent) |
64 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops. | 85 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops. |
86 extern Mutex* EvacFailureStack_lock; // guards the evac failure scan stack | |
65 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc) | 87 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc) |
66 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued | 88 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued |
67 #ifdef TIERED | 89 #ifdef TIERED |
68 extern Monitor* C1_lock; // a lock to ensure on single c1 compile is ever active | 90 extern Monitor* C1_lock; // a lock to ensure on single c1 compile is ever active |
69 #endif // TIERED | 91 #endif // TIERED |
91 extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data | 113 extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data |
92 extern Mutex* PerfDataManager_lock; // a long on access to PerfDataManager resources | 114 extern Mutex* PerfDataManager_lock; // a long on access to PerfDataManager resources |
93 extern Mutex* ParkerFreeList_lock; | 115 extern Mutex* ParkerFreeList_lock; |
94 extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches | 116 extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches |
95 | 117 |
118 extern Mutex* MMUTracker_lock; // protects the MMU | |
119 // tracker data structures | |
120 extern Mutex* HotCardCache_lock; // protects the hot card cache | |
121 | |
96 extern Mutex* Management_lock; // a lock used to serialize JVM management | 122 extern Mutex* Management_lock; // a lock used to serialize JVM management |
97 extern Monitor* LowMemory_lock; // a lock used for low memory detection | 123 extern Monitor* LowMemory_lock; // a lock used for low memory detection |
98 | 124 |
99 // A MutexLocker provides mutual exclusion with respect to a given mutex | 125 // A MutexLocker provides mutual exclusion with respect to a given mutex |
100 // for the scope which contains the locker. The lock is an OS lock, not | 126 // for the scope which contains the locker. The lock is an OS lock, not |