< prev index next >

src/hotspot/share/runtime/synchronizer.hpp

Print this page
@@ -124,10 +124,11 @@
  
  public:
    static const char* inflate_cause_name(const InflateCause cause);
  
    inline static ObjectMonitor* read_monitor(markWord mark);
+   inline static ObjectMonitor* read_monitor(Thread* current, oop obj);
    inline static ObjectMonitor* read_monitor(Thread* current, oop obj, markWord mark);
  
    // Returns the identity hash value for an oop
    // NOTE: It may cause monitor inflation
    static intptr_t FastHashCode(Thread* current, oop obj);

@@ -222,17 +223,17 @@
   private:
    JavaThread* _thread;
    Handle      _obj;
    BasicLock   _lock;
    NoPreemptMark _npm;
+   bool    _skip_exit;
   public:
-   ObjectLocker(Handle obj, JavaThread* current);
+   ObjectLocker(Handle obj, TRAPS);
    ~ObjectLocker();
  
    // Monitor behavior
-   void wait(TRAPS)  { ObjectSynchronizer::wait(_obj, 0, CHECK); } // wait forever
-   void wait_uninterruptibly(TRAPS)  { ObjectSynchronizer::waitUninterruptibly(_obj, 0, CHECK); } // wait forever
+   void wait_uninterruptibly(TRAPS);
    void notify_all(TRAPS)  { ObjectSynchronizer::notifyall(_obj, CHECK); }
  };
  
  // Interface to visit monitors
  class ObjectMonitorsView {
< prev index next >