26 #include "classfile/vmSymbols.hpp"
27 #include "logging/log.hpp"
28 #include "memory/allocation.inline.hpp"
29 #include "memory/metaspaceShared.hpp"
30 #include "memory/padded.hpp"
31 #include "memory/resourceArea.hpp"
32 #include "oops/markOop.hpp"
33 #include "oops/oop.inline.hpp"
34 #include "runtime/atomic.hpp"
35 #include "runtime/biasedLocking.hpp"
36 #include "runtime/handles.inline.hpp"
37 #include "runtime/interfaceSupport.inline.hpp"
38 #include "runtime/mutexLocker.hpp"
39 #include "runtime/objectMonitor.hpp"
40 #include "runtime/objectMonitor.inline.hpp"
41 #include "runtime/osThread.hpp"
42 #include "runtime/stubRoutines.hpp"
43 #include "runtime/synchronizer.hpp"
44 #include "runtime/thread.inline.hpp"
45 #include "runtime/vframe.hpp"
46 #include "trace/traceMacros.hpp"
47 #include "trace/tracing.hpp"
48 #include "utilities/align.hpp"
49 #include "utilities/dtrace.hpp"
50 #include "utilities/events.hpp"
51 #include "utilities/preserveException.hpp"
52
53 // The "core" versions of monitor enter and exit reside in this file.
54 // The interpreter and compilers contain specialized transliterated
55 // variants of the enter-exit fast-path operations. See i486.ad fast_lock(),
56 // for instance. If you make changes here, make sure to modify the
57 // interpreter, and both C1 and C2 fast-path inline locking code emission.
58 //
59 // -----------------------------------------------------------------------------
60
61 #ifdef DTRACE_ENABLED
62
63 // Only bother with this argument setup if dtrace is available
64 // TODO-FIXME: probes should not fire when caller is _blocked. assert() accordingly.
65
|
26 #include "classfile/vmSymbols.hpp"
27 #include "logging/log.hpp"
28 #include "memory/allocation.inline.hpp"
29 #include "memory/metaspaceShared.hpp"
30 #include "memory/padded.hpp"
31 #include "memory/resourceArea.hpp"
32 #include "oops/markOop.hpp"
33 #include "oops/oop.inline.hpp"
34 #include "runtime/atomic.hpp"
35 #include "runtime/biasedLocking.hpp"
36 #include "runtime/handles.inline.hpp"
37 #include "runtime/interfaceSupport.inline.hpp"
38 #include "runtime/mutexLocker.hpp"
39 #include "runtime/objectMonitor.hpp"
40 #include "runtime/objectMonitor.inline.hpp"
41 #include "runtime/osThread.hpp"
42 #include "runtime/stubRoutines.hpp"
43 #include "runtime/synchronizer.hpp"
44 #include "runtime/thread.inline.hpp"
45 #include "runtime/vframe.hpp"
46 #include "runtime/vmThread.hpp"
47 #include "trace/traceMacros.hpp"
48 #include "trace/tracing.hpp"
49 #include "utilities/align.hpp"
50 #include "utilities/dtrace.hpp"
51 #include "utilities/events.hpp"
52 #include "utilities/preserveException.hpp"
53
54 // The "core" versions of monitor enter and exit reside in this file.
55 // The interpreter and compilers contain specialized transliterated
56 // variants of the enter-exit fast-path operations. See i486.ad fast_lock(),
57 // for instance. If you make changes here, make sure to modify the
58 // interpreter, and both C1 and C2 fast-path inline locking code emission.
59 //
60 // -----------------------------------------------------------------------------
61
62 #ifdef DTRACE_ENABLED
63
64 // Only bother with this argument setup if dtrace is available
65 // TODO-FIXME: probes should not fire when caller is _blocked. assert() accordingly.
66
|