src/hotspot/share/runtime/vmOperations.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File open Cdiff src/hotspot/share/runtime/vmOperations.cpp

src/hotspot/share/runtime/vmOperations.cpp

Print this page

        

*** 433,452 **** jtiwh.rewind(); for (; JavaThread *thr = jtiwh.next(); ) { if (thr!=thr_cur && thr->thread_state() == _thread_in_native) { num_active++; if (thr->is_Compiler_thread()) { CompilerThread* ct = (CompilerThread*) thr; ! if (ct->compiler() == NULL || !ct->compiler()->is_jvmci()) { num_active_compiler_thread++; } else { ! // When using a Java based JVMCI compiler, it's possible ! // for one compiler thread to grab a Java lock, enter ! // HotSpot and go to sleep on the shutdown safepoint. ! // Another JVMCI compiler thread can then attempt grab ! // the lock and thus never make progress. } } } } if (num_active == 0) { --- 433,456 ---- jtiwh.rewind(); for (; JavaThread *thr = jtiwh.next(); ) { 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 } } } if (num_active == 0) {
src/hotspot/share/runtime/vmOperations.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File