34 # include "os_solaris.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_windows
37 # include "os_windows.inline.hpp"
38 #endif
39 #ifdef TARGET_OS_FAMILY_bsd
40 # include "os_bsd.inline.hpp"
41 #endif
42
43 // Mutexes used in the VM.
44
45 extern Mutex* Patching_lock; // a lock used to guard code patching of compiled code
46 extern Monitor* SystemDictionary_lock; // a lock on the system dictonary
47 extern Mutex* PackageTable_lock; // a lock on the class loader package table
48 extern Mutex* CompiledIC_lock; // a lock used to guard compiled IC patching and access
49 extern Mutex* InlineCacheBuffer_lock; // a lock used to guard the InlineCacheBuffer
50 extern Mutex* VMStatistic_lock; // a lock used to guard statistics count increment
51 extern Mutex* JNIGlobalHandle_lock; // a lock on creating JNI global handles
52 extern Mutex* JNIHandleBlockFreeList_lock; // a lock on the JNI handle block free list
53 extern Mutex* JNICachedItableIndex_lock; // a lock on caching an itable index during JNI invoke
54 extern Mutex* JmethodIdCreation_lock; // a lock on creating JNI method identifiers
55 extern Mutex* JfieldIdCreation_lock; // a lock on creating JNI static field identifiers
56 extern Monitor* JNICritical_lock; // a lock used while entering and exiting JNI critical regions, allows GC to sometimes get in
57 extern Mutex* JvmtiThreadState_lock; // a lock on modification of JVMTI thread data
58 extern Monitor* JvmtiPendingEvent_lock; // a lock on the JVMTI pending events list
59 extern Monitor* Heap_lock; // a lock on the heap
60 extern Mutex* ExpandHeap_lock; // a lock on expanding the heap
61 extern Mutex* AdapterHandlerLibrary_lock; // a lock on the AdapterHandlerLibrary
62 extern Mutex* SignatureHandlerLibrary_lock; // a lock on the SignatureHandlerLibrary
63 extern Mutex* VtableStubs_lock; // a lock on the VtableStubs
64 extern Mutex* SymbolTable_lock; // a lock on the symbol table
65 extern Mutex* StringTable_lock; // a lock on the interned string table
66 extern Mutex* CodeCache_lock; // a lock on the CodeCache, rank is special, use MutexLockerEx
67 extern Mutex* MethodData_lock; // a lock on installation of method data
68 extern Mutex* RetData_lock; // a lock on installation of RetData inside method data
69 extern Mutex* DerivedPointerTableGC_lock; // a lock to protect the derived pointer table
70 extern Monitor* VMOperationQueue_lock; // a lock on queue of vm_operations waiting to execute
71 extern Monitor* VMOperationRequest_lock; // a lock on Threads waiting for a vm_operation to terminate
72 extern Monitor* Safepoint_lock; // a lock used by the safepoint abstraction
73 extern Monitor* Threads_lock; // a lock on the Threads table of active Java threads
|
34 # include "os_solaris.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_windows
37 # include "os_windows.inline.hpp"
38 #endif
39 #ifdef TARGET_OS_FAMILY_bsd
40 # include "os_bsd.inline.hpp"
41 #endif
42
43 // Mutexes used in the VM.
44
45 extern Mutex* Patching_lock; // a lock used to guard code patching of compiled code
46 extern Monitor* SystemDictionary_lock; // a lock on the system dictonary
47 extern Mutex* PackageTable_lock; // a lock on the class loader package table
48 extern Mutex* CompiledIC_lock; // a lock used to guard compiled IC patching and access
49 extern Mutex* InlineCacheBuffer_lock; // a lock used to guard the InlineCacheBuffer
50 extern Mutex* VMStatistic_lock; // a lock used to guard statistics count increment
51 extern Mutex* JNIGlobalHandle_lock; // a lock on creating JNI global handles
52 extern Mutex* JNIHandleBlockFreeList_lock; // a lock on the JNI handle block free list
53 extern Mutex* JNICachedItableIndex_lock; // a lock on caching an itable index during JNI invoke
54 extern Mutex* MemberNameTable_lock; // a lock on the MemberNameTable updates
55 extern Mutex* JmethodIdCreation_lock; // a lock on creating JNI method identifiers
56 extern Mutex* JfieldIdCreation_lock; // a lock on creating JNI static field identifiers
57 extern Monitor* JNICritical_lock; // a lock used while entering and exiting JNI critical regions, allows GC to sometimes get in
58 extern Mutex* JvmtiThreadState_lock; // a lock on modification of JVMTI thread data
59 extern Monitor* JvmtiPendingEvent_lock; // a lock on the JVMTI pending events list
60 extern Monitor* Heap_lock; // a lock on the heap
61 extern Mutex* ExpandHeap_lock; // a lock on expanding the heap
62 extern Mutex* AdapterHandlerLibrary_lock; // a lock on the AdapterHandlerLibrary
63 extern Mutex* SignatureHandlerLibrary_lock; // a lock on the SignatureHandlerLibrary
64 extern Mutex* VtableStubs_lock; // a lock on the VtableStubs
65 extern Mutex* SymbolTable_lock; // a lock on the symbol table
66 extern Mutex* StringTable_lock; // a lock on the interned string table
67 extern Mutex* CodeCache_lock; // a lock on the CodeCache, rank is special, use MutexLockerEx
68 extern Mutex* MethodData_lock; // a lock on installation of method data
69 extern Mutex* RetData_lock; // a lock on installation of RetData inside method data
70 extern Mutex* DerivedPointerTableGC_lock; // a lock to protect the derived pointer table
71 extern Monitor* VMOperationQueue_lock; // a lock on queue of vm_operations waiting to execute
72 extern Monitor* VMOperationRequest_lock; // a lock on Threads waiting for a vm_operation to terminate
73 extern Monitor* Safepoint_lock; // a lock used by the safepoint abstraction
74 extern Monitor* Threads_lock; // a lock on the Threads table of active Java threads
|