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