src/hotspot/share/runtime/vmOperations.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File
*** old/src/hotspot/share/runtime/vmOperations.cpp	Thu Mar 28 11:23:26 2019
--- new/src/hotspot/share/runtime/vmOperations.cpp	Thu Mar 28 11:23:25 2019

*** 433,443 **** --- 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) {

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