< prev index next >

src/hotspot/share/runtime/objectMonitor.hpp

Print this page
rev 60025 : 8246476: remove AsyncDeflateIdleMonitors option and the safepoint based deflation mechanism

*** 173,183 **** volatile int _SpinDuration; jint _contentions; // Number of active contentions in enter(). It is used by is_busy() // along with other fields to determine if an ObjectMonitor can be // deflated. It is also used by the async deflation protocol. See ! // ObjectSynchronizer::deflate_monitor() and deflate_monitor_using_JT(). protected: ObjectWaiter* volatile _WaitSet; // LL of threads wait()ing on the monitor volatile jint _waiters; // number of waiting threads private: volatile int _WaitSetLock; // protects Wait Queue - simple spinlock --- 173,183 ---- volatile int _SpinDuration; jint _contentions; // Number of active contentions in enter(). It is used by is_busy() // along with other fields to determine if an ObjectMonitor can be // deflated. It is also used by the async deflation protocol. See ! // ObjectSynchronizer::deflate_monitor_using_JT(). protected: ObjectWaiter* volatile _WaitSet; // LL of threads wait()ing on the monitor volatile jint _waiters; // number of waiting threads private: volatile int _WaitSetLock; // protects Wait Queue - simple spinlock
*** 241,260 **** void set_header(markWord hdr); intptr_t is_busy() const { // TODO-FIXME: assert _owner == null implies _recursions = 0 intptr_t ret_code = _waiters | intptr_t(_cxq) | intptr_t(_EntryList); - if (!AsyncDeflateIdleMonitors) { - ret_code |= contentions() | intptr_t(_owner); - } else { if (contentions() > 0) { ret_code |= contentions(); } if (_owner != DEFLATER_MARKER) { ret_code |= intptr_t(_owner); } - } return ret_code; } const char* is_busy_to_string(stringStream* ss); intptr_t is_entered(Thread* current) const; --- 241,256 ----
*** 372,388 **** void ExitEpilog(Thread* self, ObjectWaiter* Wakee); bool ExitSuspendEquivalent(JavaThread* self); void install_displaced_markword_in_object(const oop obj); }; - // Macro to use guarantee() for more strict AsyncDeflateIdleMonitors - // checks and assert() otherwise. - #define ADIM_guarantee(p, ...) \ - do { \ - if (AsyncDeflateIdleMonitors) { \ - guarantee(p, __VA_ARGS__); \ - } else { \ - assert(p, __VA_ARGS__); \ - } \ - } while (0) - #endif // SHARE_RUNTIME_OBJECTMONITOR_HPP --- 368,373 ----
< prev index next >