< prev index next >

src/hotspot/share/runtime/objectMonitor.hpp

Print this page
rev 51784 : imported patch syncknobs-04-Knob_ExitRelease


 178   // Only perform a PerfData operation if the PerfData object has been
 179   // allocated and if the PerfDataManager has not freed the PerfData
 180   // objects which can happen at normal VM shutdown.
 181   //
 182   #define OM_PERFDATA_OP(f, op_str)              \
 183     do {                                         \
 184       if (ObjectMonitor::_sync_ ## f != NULL &&  \
 185           PerfDataManager::has_PerfData()) {     \
 186         ObjectMonitor::_sync_ ## f->op_str;      \
 187       }                                          \
 188     } while (0)
 189 
 190   static PerfCounter * _sync_ContendedLockAttempts;
 191   static PerfCounter * _sync_FutileWakeups;
 192   static PerfCounter * _sync_Parks;
 193   static PerfCounter * _sync_Notifications;
 194   static PerfCounter * _sync_Inflations;
 195   static PerfCounter * _sync_Deflations;
 196   static PerfLongVariable * _sync_MonExtant;
 197 
 198   static int Knob_ExitRelease;
 199   static int Knob_InlineNotify;
 200   static int Knob_Verbose;
 201   static int Knob_VerifyInUse;
 202   static int Knob_VerifyMatch;
 203   static int Knob_SpinLimit;
 204 
 205   void* operator new (size_t size) throw();
 206   void* operator new[] (size_t size) throw();
 207   void operator delete(void* p);
 208   void operator delete[] (void *p);
 209 
 210   // TODO-FIXME: the "offset" routines should return a type of off_t instead of int ...
 211   // ByteSize would also be an appropriate type.
 212   static int header_offset_in_bytes()      { return offset_of(ObjectMonitor, _header); }
 213   static int object_offset_in_bytes()      { return offset_of(ObjectMonitor, _object); }
 214   static int owner_offset_in_bytes()       { return offset_of(ObjectMonitor, _owner); }
 215   static int count_offset_in_bytes()       { return offset_of(ObjectMonitor, _count); }
 216   static int recursions_offset_in_bytes()  { return offset_of(ObjectMonitor, _recursions); }
 217   static int cxq_offset_in_bytes()         { return offset_of(ObjectMonitor, _cxq); }
 218   static int succ_offset_in_bytes()        { return offset_of(ObjectMonitor, _succ); }




 178   // Only perform a PerfData operation if the PerfData object has been
 179   // allocated and if the PerfDataManager has not freed the PerfData
 180   // objects which can happen at normal VM shutdown.
 181   //
 182   #define OM_PERFDATA_OP(f, op_str)              \
 183     do {                                         \
 184       if (ObjectMonitor::_sync_ ## f != NULL &&  \
 185           PerfDataManager::has_PerfData()) {     \
 186         ObjectMonitor::_sync_ ## f->op_str;      \
 187       }                                          \
 188     } while (0)
 189 
 190   static PerfCounter * _sync_ContendedLockAttempts;
 191   static PerfCounter * _sync_FutileWakeups;
 192   static PerfCounter * _sync_Parks;
 193   static PerfCounter * _sync_Notifications;
 194   static PerfCounter * _sync_Inflations;
 195   static PerfCounter * _sync_Deflations;
 196   static PerfLongVariable * _sync_MonExtant;
 197 

 198   static int Knob_InlineNotify;
 199   static int Knob_Verbose;
 200   static int Knob_VerifyInUse;
 201   static int Knob_VerifyMatch;
 202   static int Knob_SpinLimit;
 203 
 204   void* operator new (size_t size) throw();
 205   void* operator new[] (size_t size) throw();
 206   void operator delete(void* p);
 207   void operator delete[] (void *p);
 208 
 209   // TODO-FIXME: the "offset" routines should return a type of off_t instead of int ...
 210   // ByteSize would also be an appropriate type.
 211   static int header_offset_in_bytes()      { return offset_of(ObjectMonitor, _header); }
 212   static int object_offset_in_bytes()      { return offset_of(ObjectMonitor, _object); }
 213   static int owner_offset_in_bytes()       { return offset_of(ObjectMonitor, _owner); }
 214   static int count_offset_in_bytes()       { return offset_of(ObjectMonitor, _count); }
 215   static int recursions_offset_in_bytes()  { return offset_of(ObjectMonitor, _recursions); }
 216   static int cxq_offset_in_bytes()         { return offset_of(ObjectMonitor, _cxq); }
 217   static int succ_offset_in_bytes()        { return offset_of(ObjectMonitor, _succ); }


< prev index next >