< prev index next >

src/share/vm/runtime/synchronizer.cpp

Print this page




  27 #include "logging/log.hpp"
  28 #include "memory/metaspaceShared.hpp"
  29 #include "memory/padded.hpp"
  30 #include "memory/resourceArea.hpp"
  31 #include "oops/markOop.hpp"
  32 #include "oops/oop.inline.hpp"
  33 #include "runtime/atomic.hpp"
  34 #include "runtime/biasedLocking.hpp"
  35 #include "runtime/handles.inline.hpp"
  36 #include "runtime/interfaceSupport.hpp"
  37 #include "runtime/mutexLocker.hpp"
  38 #include "runtime/objectMonitor.hpp"
  39 #include "runtime/objectMonitor.inline.hpp"
  40 #include "runtime/osThread.hpp"
  41 #include "runtime/stubRoutines.hpp"
  42 #include "runtime/synchronizer.hpp"
  43 #include "runtime/thread.inline.hpp"
  44 #include "runtime/vframe.hpp"
  45 #include "trace/traceMacros.hpp"
  46 #include "trace/tracing.hpp"

  47 #include "utilities/dtrace.hpp"
  48 #include "utilities/events.hpp"
  49 #include "utilities/preserveException.hpp"
  50 
  51 // The "core" versions of monitor enter and exit reside in this file.
  52 // The interpreter and compilers contain specialized transliterated
  53 // variants of the enter-exit fast-path operations.  See i486.ad fast_lock(),
  54 // for instance.  If you make changes here, make sure to modify the
  55 // interpreter, and both C1 and C2 fast-path inline locking code emission.
  56 //
  57 // -----------------------------------------------------------------------------
  58 
  59 #ifdef DTRACE_ENABLED
  60 
  61 // Only bother with this argument setup if dtrace is available
  62 // TODO-FIXME: probes should not fire when caller is _blocked.  assert() accordingly.
  63 
  64 #define DTRACE_MONITOR_PROBE_COMMON(obj, thread)                           \
  65   char* bytes = NULL;                                                      \
  66   int len = 0;                                                             \




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


< prev index next >