< prev index next >

src/hotspot/share/runtime/objectMonitor.hpp

Print this page

315     ClearSuccOnSuspend(ObjectMonitor* om) : _om(om)  {}
316     void operator()(JavaThread* current);
317   };
318  public:
319   bool      enter(JavaThread* current);
320   void      exit(JavaThread* current, bool not_suspended = true);
321   void      wait(jlong millis, bool interruptible, TRAPS);
322   void      notify(TRAPS);
323   void      notifyAll(TRAPS);
324 
325   void      print() const;
326 #ifdef ASSERT
327   void      print_debug_style_on(outputStream* st) const;
328 #endif
329   void      print_on(outputStream* st) const;
330 
331   // Use the following at your own risk
332   intx      complete_exit(JavaThread* current);
333   bool      reenter(intx recursions, JavaThread* current);
334 


335  private:
336   void      AddWaiter(ObjectWaiter* waiter);
337   void      INotify(JavaThread* current);
338   ObjectWaiter* DequeueWaiter();
339   void      DequeueSpecificWaiter(ObjectWaiter* waiter);
340   void      EnterI(JavaThread* current);
341   void      ReenterI(JavaThread* current, ObjectWaiter* current_node);
342   void      UnlinkAfterAcquire(JavaThread* current, ObjectWaiter* current_node);
343   int       TryLock(JavaThread* current);
344   int       NotRunnable(JavaThread* current, JavaThread* Owner);
345   int       TrySpin(JavaThread* current);
346   void      ExitEpilog(JavaThread* current, ObjectWaiter* Wakee);
347 
348   // Deflation support
349   bool      deflate_monitor();
350   void      install_displaced_markword_in_object(const oop obj);
351 };
352 
353 #endif // SHARE_RUNTIME_OBJECTMONITOR_HPP

315     ClearSuccOnSuspend(ObjectMonitor* om) : _om(om)  {}
316     void operator()(JavaThread* current);
317   };
318  public:
319   bool      enter(JavaThread* current);
320   void      exit(JavaThread* current, bool not_suspended = true);
321   void      wait(jlong millis, bool interruptible, TRAPS);
322   void      notify(TRAPS);
323   void      notifyAll(TRAPS);
324 
325   void      print() const;
326 #ifdef ASSERT
327   void      print_debug_style_on(outputStream* st) const;
328 #endif
329   void      print_on(outputStream* st) const;
330 
331   // Use the following at your own risk
332   intx      complete_exit(JavaThread* current);
333   bool      reenter(intx recursions, JavaThread* current);
334 
335   static void maybe_deflate_dead(oop* p);
336 
337  private:
338   void      AddWaiter(ObjectWaiter* waiter);
339   void      INotify(JavaThread* current);
340   ObjectWaiter* DequeueWaiter();
341   void      DequeueSpecificWaiter(ObjectWaiter* waiter);
342   void      EnterI(JavaThread* current);
343   void      ReenterI(JavaThread* current, ObjectWaiter* current_node);
344   void      UnlinkAfterAcquire(JavaThread* current, ObjectWaiter* current_node);
345   int       TryLock(JavaThread* current);
346   int       NotRunnable(JavaThread* current, JavaThread* Owner);
347   int       TrySpin(JavaThread* current);
348   void      ExitEpilog(JavaThread* current, ObjectWaiter* Wakee);
349 
350   // Deflation support
351   bool      deflate_monitor();
352   void      install_displaced_markword_in_object(const oop obj);
353 };
354 
355 #endif // SHARE_RUNTIME_OBJECTMONITOR_HPP
< prev index next >