< prev index next >

src/hotspot/share/prims/jvmtiEnv.cpp

Print this page
@@ -1363,22 +1363,20 @@
    if (err != JVMTI_ERROR_NONE) {
      delete owned_monitors_list;
      return err;
    }
  
-   if (java_thread != nullptr) {
-     Handle thread_handle(calling_thread, thread_oop);
-     EscapeBarrier eb(true, calling_thread, java_thread);
-     if (!eb.deoptimize_objects(MaxJavaStackTraceDepth)) {
-       delete owned_monitors_list;
-       return JVMTI_ERROR_OUT_OF_MEMORY;
-     }
-     // get owned monitors info with handshake
-     GetOwnedMonitorInfoClosure op(this, calling_thread, owned_monitors_list);
-     JvmtiHandshake::execute(&op, &tlh, java_thread, thread_handle);
-     err = op.result();
+   Handle thread_handle(calling_thread, thread_oop);
+   EscapeBarrier eb(java_thread != nullptr, calling_thread, java_thread);
+   if (!eb.deoptimize_objects(MaxJavaStackTraceDepth)) {
+     delete owned_monitors_list;
+     return JVMTI_ERROR_OUT_OF_MEMORY;
    }
+   // get owned monitors info with handshake
+   GetOwnedMonitorInfoClosure op(this, calling_thread, owned_monitors_list);
+   JvmtiHandshake::execute(&op, &tlh, java_thread, thread_handle);
+   err = op.result();
  
    jint owned_monitor_count = owned_monitors_list->length();
    if (err == JVMTI_ERROR_NONE) {
      if ((err = allocate(owned_monitor_count * sizeof(jobject *),
                        (unsigned char**)owned_monitors_ptr)) == JVMTI_ERROR_NONE) {

@@ -1421,22 +1419,20 @@
    if (err != JVMTI_ERROR_NONE) {
      delete owned_monitors_list;
      return err;
    }
  
-   if (java_thread != nullptr) {
-     Handle thread_handle(calling_thread, thread_oop);
-     EscapeBarrier eb(true, calling_thread, java_thread);
-     if (!eb.deoptimize_objects(MaxJavaStackTraceDepth)) {
-       delete owned_monitors_list;
-       return JVMTI_ERROR_OUT_OF_MEMORY;
-     }
-     // get owned monitors info with handshake
-     GetOwnedMonitorInfoClosure op(this, calling_thread, owned_monitors_list);
-     JvmtiHandshake::execute(&op, &tlh, java_thread, thread_handle);
-     err = op.result();
+   Handle thread_handle(calling_thread, thread_oop);
+   EscapeBarrier eb(java_thread != nullptr, calling_thread, java_thread);
+   if (!eb.deoptimize_objects(MaxJavaStackTraceDepth)) {
+     delete owned_monitors_list;
+     return JVMTI_ERROR_OUT_OF_MEMORY;
    }
+   // get owned monitors info with handshake
+   GetOwnedMonitorInfoClosure op(this, calling_thread, owned_monitors_list);
+   JvmtiHandshake::execute(&op, &tlh, java_thread, thread_handle);
+   err = op.result();
  
    jint owned_monitor_count = owned_monitors_list->length();
    if (err == JVMTI_ERROR_NONE) {
      if ((err = allocate(owned_monitor_count * sizeof(jvmtiMonitorStackDepthInfo),
                          (unsigned char**)monitor_info_ptr)) == JVMTI_ERROR_NONE) {
< prev index next >