mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8223332: Update JVMCI
Reviewed-by: never, dnsimon
This commit is contained in:
parent
29a4ad9a87
commit
72f082e925
30 changed files with 1038 additions and 345 deletions
|
@ -438,14 +438,14 @@ int VM_Exit::wait_for_threads_in_native_to_block() {
|
|||
if (thr->is_Compiler_thread()) {
|
||||
#if INCLUDE_JVMCI
|
||||
CompilerThread* ct = (CompilerThread*) thr;
|
||||
if (ct->compiler() == NULL || !ct->compiler()->is_jvmci() || !UseJVMCINativeLibrary) {
|
||||
if (ct->compiler() == NULL || !ct->compiler()->is_jvmci()) {
|
||||
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.
|
||||
// A JVMCI compiler thread never accesses VM data structures
|
||||
// while in _thread_in_native state so there's no need to wait
|
||||
// for it and potentially add a 300 millisecond delay to VM
|
||||
// shutdown.
|
||||
num_active--;
|
||||
}
|
||||
#else
|
||||
num_active_compiler_thread++;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue