< prev index next > src/hotspot/share/runtime/synchronizer.hpp
Print this page
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);
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 >