< prev index next >
src/hotspot/share/prims/jvmtiEnv.cpp
Print this page
@@ -2837,19 +2837,15 @@
// info_ptr - pre-checked for NULL
jvmtiError
JvmtiEnv::GetObjectMonitorUsage(jobject object, jvmtiMonitorUsage* info_ptr) {
- JavaThread* calling_thread = JavaThread::current();
- jvmtiError err = get_object_monitor_usage(calling_thread, object, info_ptr);
- if (err == JVMTI_ERROR_THREAD_NOT_SUSPENDED) {
- // Some of the critical threads were not suspended. go to a safepoint and try again
- VM_GetObjectMonitorUsage op(this, calling_thread, object, info_ptr);
+ // It need to perform at safepoint for gathering stable data
+ // because monitor owner / waiters might not be suspended.
+ VM_GetObjectMonitorUsage op(this, JavaThread::current(), object, info_ptr);
VMThread::execute(&op);
- err = op.result();
- }
- return err;
+ return op.result();
} /* end GetObjectMonitorUsage */
//
// Field functions
< prev index next >