< prev index next >

src/hotspot/share/runtime/objectMonitor.hpp

Print this page

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


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

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