< prev index next >

src/hotspot/share/services/threadService.hpp

Print this page

        

*** 33,43 **** #include "runtime/objectMonitor.inline.hpp" #include "runtime/perfData.hpp" #include "runtime/thread.hpp" #include "runtime/threadSMR.hpp" #include "services/management.hpp" - #include "services/serviceUtil.hpp" class OopClosure; class ThreadDumpResult; class ThreadStackTrace; class ThreadSnapshot; --- 33,42 ----
*** 546,556 **** // java_thread is waiting thread being blocked on monitor reenter. // Current thread is the notifying thread which holds the monitor. static bool wait_reenter_begin(JavaThread *java_thread, ObjectMonitor *obj_m) { assert((java_thread != NULL), "Java thread should not be null here"); bool active = false; ! if (is_alive(java_thread) && ServiceUtil::visible_oop((oop)obj_m->object())) { active = contended_enter_begin(java_thread); } return active; } --- 545,555 ---- // java_thread is waiting thread being blocked on monitor reenter. // Current thread is the notifying thread which holds the monitor. static bool wait_reenter_begin(JavaThread *java_thread, ObjectMonitor *obj_m) { assert((java_thread != NULL), "Java thread should not be null here"); bool active = false; ! if (is_alive(java_thread)) { active = contended_enter_begin(java_thread); } return active; }
*** 567,577 **** // Change thread status and collect contended enter stats for monitor contended // enter done for external java world objects and it is contended. All other cases // like for vm internal objects and for external objects which are not contended // thread status is not changed and contended enter stat is not collected. _active = false; ! if (is_alive() && ServiceUtil::visible_oop((oop)obj_m->object()) && obj_m->contentions() > 0) { _stat = java_thread->get_thread_stat(); _active = contended_enter_begin(java_thread); } } --- 566,576 ---- // Change thread status and collect contended enter stats for monitor contended // enter done for external java world objects and it is contended. All other cases // like for vm internal objects and for external objects which are not contended // thread status is not changed and contended enter stat is not collected. _active = false; ! if (is_alive() && obj_m->contentions() > 0) { _stat = java_thread->get_thread_stat(); _active = contended_enter_begin(java_thread); } }
< prev index next >