< prev index next >

src/share/vm/runtime/objectMonitor.hpp

Print this page
rev 12576 : 8171848: ObjectMonitor verify() and print() methods are empty
Reviewed-by: duke


 296     // _recursions == 0 _WaitSet == NULL
 297     assert(((is_busy()|_recursions) == 0), "freeing inuse monitor");
 298     _succ          = NULL;
 299     _EntryList     = NULL;
 300     _cxq           = NULL;
 301     _WaitSet       = NULL;
 302     _recursions    = 0;
 303   }
 304 
 305  public:
 306 
 307   void*     object() const;
 308   void*     object_addr();
 309   void      set_object(void* obj);
 310 
 311   bool      check(TRAPS);       // true if the thread owns the monitor.
 312   void      check_slow(TRAPS);
 313   void      clear();
 314   static void sanity_checks();  // public for -XX:+ExecuteInternalVMTests
 315                                 // in PRODUCT for -XX:SyncKnobs=Verbose=1
 316 #ifndef PRODUCT
 317   void      verify();
 318   void      print();
 319 #endif
 320 
 321   void      enter(TRAPS);
 322   void      exit(bool not_suspended, TRAPS);
 323   void      wait(jlong millis, bool interruptable, TRAPS);
 324   void      notify(TRAPS);
 325   void      notifyAll(TRAPS);
 326 
 327 // Use the following at your own risk
 328   intptr_t  complete_exit(TRAPS);
 329   void      reenter(intptr_t recursions, TRAPS);
 330 
 331  private:
 332   void      AddWaiter(ObjectWaiter * waiter);
 333   static    void DeferredInitialize();
 334   void      INotify(Thread * Self);
 335   ObjectWaiter * DequeueWaiter();
 336   void      DequeueSpecificWaiter(ObjectWaiter * waiter);
 337   void      EnterI(TRAPS);
 338   void      ReenterI(Thread * Self, ObjectWaiter * SelfNode);
 339   void      UnlinkAfterAcquire(Thread * Self, ObjectWaiter * SelfNode);




 296     // _recursions == 0 _WaitSet == NULL
 297     assert(((is_busy()|_recursions) == 0), "freeing inuse monitor");
 298     _succ          = NULL;
 299     _EntryList     = NULL;
 300     _cxq           = NULL;
 301     _WaitSet       = NULL;
 302     _recursions    = 0;
 303   }
 304 
 305  public:
 306 
 307   void*     object() const;
 308   void*     object_addr();
 309   void      set_object(void* obj);
 310 
 311   bool      check(TRAPS);       // true if the thread owns the monitor.
 312   void      check_slow(TRAPS);
 313   void      clear();
 314   static void sanity_checks();  // public for -XX:+ExecuteInternalVMTests
 315                                 // in PRODUCT for -XX:SyncKnobs=Verbose=1




 316 
 317   void      enter(TRAPS);
 318   void      exit(bool not_suspended, TRAPS);
 319   void      wait(jlong millis, bool interruptable, TRAPS);
 320   void      notify(TRAPS);
 321   void      notifyAll(TRAPS);
 322 
 323 // Use the following at your own risk
 324   intptr_t  complete_exit(TRAPS);
 325   void      reenter(intptr_t recursions, TRAPS);
 326 
 327  private:
 328   void      AddWaiter(ObjectWaiter * waiter);
 329   static    void DeferredInitialize();
 330   void      INotify(Thread * Self);
 331   ObjectWaiter * DequeueWaiter();
 332   void      DequeueSpecificWaiter(ObjectWaiter * waiter);
 333   void      EnterI(TRAPS);
 334   void      ReenterI(Thread * Self, ObjectWaiter * SelfNode);
 335   void      UnlinkAfterAcquire(Thread * Self, ObjectWaiter * SelfNode);


< prev index next >