< prev index next >

src/hotspot/share/runtime/objectMonitor.hpp

Print this page
rev 51901 : imported patch 8211176-eager-object-monitor-init.01


 285   void*     object() const;
 286   void*     object_addr();
 287   void      set_object(void* obj);
 288 
 289   bool      check(TRAPS);       // true if the thread owns the monitor.
 290   void      check_slow(TRAPS);
 291   void      clear();
 292 
 293   void      enter(TRAPS);
 294   void      exit(bool not_suspended, TRAPS);
 295   void      wait(jlong millis, bool interruptable, TRAPS);
 296   void      notify(TRAPS);
 297   void      notifyAll(TRAPS);
 298 
 299 // Use the following at your own risk
 300   intptr_t  complete_exit(TRAPS);
 301   void      reenter(intptr_t recursions, TRAPS);
 302 
 303  private:
 304   void      AddWaiter(ObjectWaiter * waiter);
 305   static    void DeferredInitialize();
 306   void      INotify(Thread * Self);
 307   ObjectWaiter * DequeueWaiter();
 308   void      DequeueSpecificWaiter(ObjectWaiter * waiter);
 309   void      EnterI(TRAPS);
 310   void      ReenterI(Thread * Self, ObjectWaiter * SelfNode);
 311   void      UnlinkAfterAcquire(Thread * Self, ObjectWaiter * SelfNode);
 312   int       TryLock(Thread * Self);
 313   int       NotRunnable(Thread * Self, Thread * Owner);
 314   int       TrySpin(Thread * Self);
 315   void      ExitEpilog(Thread * Self, ObjectWaiter * Wakee);
 316   bool      ExitSuspendEquivalent(JavaThread * Self);
 317 };
 318 
 319 #endif // SHARE_VM_RUNTIME_OBJECTMONITOR_HPP


 285   void*     object() const;
 286   void*     object_addr();
 287   void      set_object(void* obj);
 288 
 289   bool      check(TRAPS);       // true if the thread owns the monitor.
 290   void      check_slow(TRAPS);
 291   void      clear();
 292 
 293   void      enter(TRAPS);
 294   void      exit(bool not_suspended, TRAPS);
 295   void      wait(jlong millis, bool interruptable, TRAPS);
 296   void      notify(TRAPS);
 297   void      notifyAll(TRAPS);
 298 
 299 // Use the following at your own risk
 300   intptr_t  complete_exit(TRAPS);
 301   void      reenter(intptr_t recursions, TRAPS);
 302 
 303  private:
 304   void      AddWaiter(ObjectWaiter * waiter);

 305   void      INotify(Thread * Self);
 306   ObjectWaiter * DequeueWaiter();
 307   void      DequeueSpecificWaiter(ObjectWaiter * waiter);
 308   void      EnterI(TRAPS);
 309   void      ReenterI(Thread * Self, ObjectWaiter * SelfNode);
 310   void      UnlinkAfterAcquire(Thread * Self, ObjectWaiter * SelfNode);
 311   int       TryLock(Thread * Self);
 312   int       NotRunnable(Thread * Self, Thread * Owner);
 313   int       TrySpin(Thread * Self);
 314   void      ExitEpilog(Thread * Self, ObjectWaiter * Wakee);
 315   bool      ExitSuspendEquivalent(JavaThread * Self);
 316 };
 317 
 318 #endif // SHARE_VM_RUNTIME_OBJECTMONITOR_HPP
< prev index next >