34 #include "runtime/objectMonitor.hpp"
35 #include "runtime/objectMonitor.inline.hpp"
36 #include "runtime/osThread.hpp"
37 #include "runtime/stubRoutines.hpp"
38 #include "runtime/synchronizer.hpp"
39 #include "utilities/dtrace.hpp"
40 #include "utilities/events.hpp"
41 #include "utilities/preserveException.hpp"
42 #ifdef TARGET_OS_FAMILY_linux
43 # include "os_linux.inline.hpp"
44 # include "thread_linux.inline.hpp"
45 #endif
46 #ifdef TARGET_OS_FAMILY_solaris
47 # include "os_solaris.inline.hpp"
48 # include "thread_solaris.inline.hpp"
49 #endif
50 #ifdef TARGET_OS_FAMILY_windows
51 # include "os_windows.inline.hpp"
52 # include "thread_windows.inline.hpp"
53 #endif
54
55 #if defined(__GNUC__) && !defined(IA64)
56 // Need to inhibit inlining for older versions of GCC to avoid build-time failures
57 #define ATTR __attribute__((noinline))
58 #else
59 #define ATTR
60 #endif
61
62 // The "core" versions of monitor enter and exit reside in this file.
63 // The interpreter and compilers contain specialized transliterated
64 // variants of the enter-exit fast-path operations. See i486.ad fast_lock(),
65 // for instance. If you make changes here, make sure to modify the
66 // interpreter, and both C1 and C2 fast-path inline locking code emission.
67 //
68 //
69 // -----------------------------------------------------------------------------
70
71 #ifdef DTRACE_ENABLED
72
73 // Only bother with this argument setup if dtrace is available
|
34 #include "runtime/objectMonitor.hpp"
35 #include "runtime/objectMonitor.inline.hpp"
36 #include "runtime/osThread.hpp"
37 #include "runtime/stubRoutines.hpp"
38 #include "runtime/synchronizer.hpp"
39 #include "utilities/dtrace.hpp"
40 #include "utilities/events.hpp"
41 #include "utilities/preserveException.hpp"
42 #ifdef TARGET_OS_FAMILY_linux
43 # include "os_linux.inline.hpp"
44 # include "thread_linux.inline.hpp"
45 #endif
46 #ifdef TARGET_OS_FAMILY_solaris
47 # include "os_solaris.inline.hpp"
48 # include "thread_solaris.inline.hpp"
49 #endif
50 #ifdef TARGET_OS_FAMILY_windows
51 # include "os_windows.inline.hpp"
52 # include "thread_windows.inline.hpp"
53 #endif
54 #ifdef TARGET_OS_FAMILY_bsd
55 # include "os_bsd.inline.hpp"
56 # include "thread_bsd.inline.hpp"
57 #endif
58
59 #if defined(__GNUC__) && !defined(IA64)
60 // Need to inhibit inlining for older versions of GCC to avoid build-time failures
61 #define ATTR __attribute__((noinline))
62 #else
63 #define ATTR
64 #endif
65
66 // The "core" versions of monitor enter and exit reside in this file.
67 // The interpreter and compilers contain specialized transliterated
68 // variants of the enter-exit fast-path operations. See i486.ad fast_lock(),
69 // for instance. If you make changes here, make sure to modify the
70 // interpreter, and both C1 and C2 fast-path inline locking code emission.
71 //
72 //
73 // -----------------------------------------------------------------------------
74
75 #ifdef DTRACE_ENABLED
76
77 // Only bother with this argument setup if dtrace is available
|