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