< prev index next >

src/hotspot/share/prims/jvmtiEnvBase.cpp

Print this page
rev 60252 : imported patch 8249192-monitorinfo-naked-oops

*** 722,738 **** jvmtiError JvmtiEnvBase::get_locked_objects_in_frame(JavaThread* calling_thread, JavaThread* java_thread, javaVFrame *jvf, GrowableArray<jvmtiMonitorStackDepthInfo*>* owned_monitors_list, jint stack_depth) { jvmtiError err = JVMTI_ERROR_NONE; ResourceMark rm; GrowableArray<MonitorInfo*>* mons = jvf->monitors(); if (mons->is_empty()) { return err; // this javaVFrame holds no monitors } - HandleMark hm; oop wait_obj = NULL; { // The ObjectMonitor* can't be async deflated since we are either // at a safepoint or the calling thread is operating on itself so // it cannot leave the underlying wait() call. --- 722,738 ---- jvmtiError JvmtiEnvBase::get_locked_objects_in_frame(JavaThread* calling_thread, JavaThread* java_thread, javaVFrame *jvf, GrowableArray<jvmtiMonitorStackDepthInfo*>* owned_monitors_list, jint stack_depth) { jvmtiError err = JVMTI_ERROR_NONE; ResourceMark rm; + HandleMark hm; GrowableArray<MonitorInfo*>* mons = jvf->monitors(); if (mons->is_empty()) { return err; // this javaVFrame holds no monitors } oop wait_obj = NULL; { // The ObjectMonitor* can't be async deflated since we are either // at a safepoint or the calling thread is operating on itself so // it cannot leave the underlying wait() call.
*** 1003,1013 **** if (owning_thread != NULL) { // monitor is owned // The recursions field of a monitor does not reflect recursions // as lightweight locks before inflating the monitor are not included. // We have to count the number of recursive monitor entries the hard way. // We pass a handle to survive any GCs along the way. - ResourceMark rm(current_thread); ret.entry_count = count_locked_objects(owning_thread, hobj); } // implied else: entry_count == 0 } --- 1003,1012 ----
< prev index next >