hotspot/src/share/vm/runtime/objectMonitor.hpp
changeset 25633 4cd9c4622c8c
parent 25472 381638db28e6
child 26683 a02753d5a0b2
equal deleted inserted replaced
25632:d200adafaee5 25633:4cd9c4622c8c
   187   void      set_object(void* obj);
   187   void      set_object(void* obj);
   188 
   188 
   189   bool      check(TRAPS);       // true if the thread owns the monitor.
   189   bool      check(TRAPS);       // true if the thread owns the monitor.
   190   void      check_slow(TRAPS);
   190   void      check_slow(TRAPS);
   191   void      clear();
   191   void      clear();
       
   192   static void sanity_checks();  // public for -XX:+ExecuteInternalVMTests
       
   193                                 // in PRODUCT for -XX:SyncKnobs=Verbose=1
   192 #ifndef PRODUCT
   194 #ifndef PRODUCT
   193   void      verify();
   195   void      verify();
   194   void      print();
   196   void      print();
   195 #endif
   197 #endif
   196 
   198 
   232   friend class ObjectWaiter;
   234   friend class ObjectWaiter;
   233   friend class VMStructs;
   235   friend class VMStructs;
   234 
   236 
   235   // WARNING: this must be the very first word of ObjectMonitor
   237   // WARNING: this must be the very first word of ObjectMonitor
   236   // This means this class can't use any virtual member functions.
   238   // This means this class can't use any virtual member functions.
   237   // TODO-FIXME: assert that offsetof(_header) is 0 or get rid of the
       
   238   // implicit 0 offset in emitted code.
       
   239 
   239 
   240   volatile markOop   _header;       // displaced object header word - mark
   240   volatile markOop   _header;       // displaced object header word - mark
   241   void*     volatile _object;       // backward object pointer - strong root
   241   void*     volatile _object;       // backward object pointer - strong root
   242 
   242 
   243   double SharingPad[1];           // temp to reduce false sharing
   243   double SharingPad[1];           // temp to reduce false sharing