src/hotspot/share/runtime/vmOperations.cpp
changeset 54669 ad45b3802d4e
parent 54645 05aaccf7d558
child 54729 f72402697b2f
equal deleted inserted replaced
54668:0bda2308eded 54669:ad45b3802d4e
   433     jtiwh.rewind();
   433     jtiwh.rewind();
   434     for (; JavaThread *thr = jtiwh.next(); ) {
   434     for (; JavaThread *thr = jtiwh.next(); ) {
   435       if (thr!=thr_cur && thr->thread_state() == _thread_in_native) {
   435       if (thr!=thr_cur && thr->thread_state() == _thread_in_native) {
   436         num_active++;
   436         num_active++;
   437         if (thr->is_Compiler_thread()) {
   437         if (thr->is_Compiler_thread()) {
       
   438 #if INCLUDE_JVMCI
       
   439           CompilerThread* ct = (CompilerThread*) thr;
       
   440           if (ct->compiler() == NULL || !ct->compiler()->is_jvmci() || !UseJVMCINativeLibrary) {
       
   441             num_active_compiler_thread++;
       
   442           } else {
       
   443             // When using a compiler in a JVMCI shared library, it's possible
       
   444             // for one compiler thread to grab a lock in the shared library,
       
   445             // enter HotSpot and go to sleep on the shutdown safepoint. Another
       
   446             // JVMCI shared library compiler thread can then attempt to grab the
       
   447             // lock and thus never make progress.
       
   448           }
       
   449 #else
   438           num_active_compiler_thread++;
   450           num_active_compiler_thread++;
       
   451 #endif
   439         }
   452         }
   440       }
   453       }
   441     }
   454     }
   442 
   455 
   443     if (num_active == 0) {
   456     if (num_active == 0) {