37 // eliminating the indirection and using instances instead. |
37 // eliminating the indirection and using instances instead. |
38 // Consider using GCC's __read_mostly. |
38 // Consider using GCC's __read_mostly. |
39 |
39 |
40 Mutex* Patching_lock = NULL; |
40 Mutex* Patching_lock = NULL; |
41 Monitor* SystemDictionary_lock = NULL; |
41 Monitor* SystemDictionary_lock = NULL; |
|
42 Mutex* SharedDictionary_lock = NULL; |
42 Mutex* Module_lock = NULL; |
43 Mutex* Module_lock = NULL; |
43 Mutex* CompiledIC_lock = NULL; |
44 Mutex* CompiledIC_lock = NULL; |
44 Mutex* InlineCacheBuffer_lock = NULL; |
45 Mutex* InlineCacheBuffer_lock = NULL; |
45 Mutex* VMStatistic_lock = NULL; |
46 Mutex* VMStatistic_lock = NULL; |
46 Mutex* JNIGlobalAlloc_lock = NULL; |
47 Mutex* JNIGlobalAlloc_lock = NULL; |
219 def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. |
220 def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. |
220 def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations |
221 def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations |
221 def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. |
222 def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. |
222 |
223 |
223 def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread |
224 def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread |
|
225 def(SharedDictionary_lock , PaddedMutex, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread |
224 def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always); |
226 def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always); |
225 def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); |
227 def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); |
226 def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); |
228 def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); |
227 def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread |
229 def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread |
228 def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread |
230 def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread |