19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "runtime/mutexLocker.hpp"
27 #include "runtime/safepoint.hpp"
28 #include "runtime/threadLocalStorage.hpp"
29 #include "runtime/vmThread.hpp"
30 #ifdef TARGET_OS_FAMILY_linux
31 # include "thread_linux.inline.hpp"
32 #endif
33 #ifdef TARGET_OS_FAMILY_solaris
34 # include "thread_solaris.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_windows
37 # include "thread_windows.inline.hpp"
38 #endif
39
40 // Mutexes used in the VM (see comment in mutexLocker.hpp):
41 //
42 // Note that the following pointers are effectively final -- after having been
43 // set at JVM startup-time, they should never be subsequently mutated.
44 // Instead of using pointers to malloc()ed monitors and mutexes we should consider
45 // eliminating the indirection and using instances instead.
46 // Consider using GCC's __read_mostly.
47
48 Mutex* Patching_lock = NULL;
49 Monitor* SystemDictionary_lock = NULL;
50 Mutex* PackageTable_lock = NULL;
51 Mutex* CompiledIC_lock = NULL;
52 Mutex* InlineCacheBuffer_lock = NULL;
53 Mutex* VMStatistic_lock = NULL;
54 Mutex* JNIGlobalHandle_lock = NULL;
55 Mutex* JNIHandleBlockFreeList_lock = NULL;
56 Mutex* JNICachedItableIndex_lock = NULL;
57 Mutex* JmethodIdCreation_lock = NULL;
58 Mutex* JfieldIdCreation_lock = NULL;
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "runtime/mutexLocker.hpp"
27 #include "runtime/safepoint.hpp"
28 #include "runtime/threadLocalStorage.hpp"
29 #include "runtime/vmThread.hpp"
30 #ifdef TARGET_OS_FAMILY_linux
31 # include "thread_linux.inline.hpp"
32 #endif
33 #ifdef TARGET_OS_FAMILY_solaris
34 # include "thread_solaris.inline.hpp"
35 #endif
36 #ifdef TARGET_OS_FAMILY_windows
37 # include "thread_windows.inline.hpp"
38 #endif
39 #ifdef TARGET_OS_FAMILY_bsd
40 # include "thread_bsd.inline.hpp"
41 #endif
42
43 // Mutexes used in the VM (see comment in mutexLocker.hpp):
44 //
45 // Note that the following pointers are effectively final -- after having been
46 // set at JVM startup-time, they should never be subsequently mutated.
47 // Instead of using pointers to malloc()ed monitors and mutexes we should consider
48 // eliminating the indirection and using instances instead.
49 // Consider using GCC's __read_mostly.
50
51 Mutex* Patching_lock = NULL;
52 Monitor* SystemDictionary_lock = NULL;
53 Mutex* PackageTable_lock = NULL;
54 Mutex* CompiledIC_lock = NULL;
55 Mutex* InlineCacheBuffer_lock = NULL;
56 Mutex* VMStatistic_lock = NULL;
57 Mutex* JNIGlobalHandle_lock = NULL;
58 Mutex* JNIHandleBlockFreeList_lock = NULL;
59 Mutex* JNICachedItableIndex_lock = NULL;
60 Mutex* JmethodIdCreation_lock = NULL;
61 Mutex* JfieldIdCreation_lock = NULL;
|