src/hotspot/share/runtime/vmOperations.cpp
changeset 54669 ad45b3802d4e
parent 54645 05aaccf7d558
child 54729 f72402697b2f
--- a/src/hotspot/share/runtime/vmOperations.cpp	Wed May 01 12:41:26 2019 -0400
+++ b/src/hotspot/share/runtime/vmOperations.cpp	Wed May 01 12:31:29 2019 -0700
@@ -435,7 +435,20 @@
       if (thr!=thr_cur && thr->thread_state() == _thread_in_native) {
         num_active++;
         if (thr->is_Compiler_thread()) {
+#if INCLUDE_JVMCI
+          CompilerThread* ct = (CompilerThread*) thr;
+          if (ct->compiler() == NULL || !ct->compiler()->is_jvmci() || !UseJVMCINativeLibrary) {
+            num_active_compiler_thread++;
+          } else {
+            // When using a compiler in a JVMCI shared library, it's possible
+            // for one compiler thread to grab a lock in the shared library,
+            // enter HotSpot and go to sleep on the shutdown safepoint. Another
+            // JVMCI shared library compiler thread can then attempt to grab the
+            // lock and thus never make progress.
+          }
+#else
           num_active_compiler_thread++;
+#endif
         }
       }
     }