< prev index next >

src/hotspot/share/compiler/compileBroker.cpp

Print this page

        

@@ -1499,12 +1499,13 @@
          task->lock()->wait(!Mutex::_no_safepoint_check_flag, JVMCI_COMPILATION_PROGRESS_WAIT_TIMESLICE)) {
     CompilerThread* jvmci_compiler_thread = task->jvmci_compiler_thread();
 
     bool progress;
     if (jvmci_compiler_thread != NULL) {
-      // If the JVMCI compiler thread is not blocked, we deem it to be making progress.
-      progress = jvmci_compiler_thread->thread_state() != _thread_blocked;
+      // If the JVMCI compiler thread is not blocked or suspended, we deem it to be making progress.
+      progress = jvmci_compiler_thread->thread_state() != _thread_blocked &&
+        !jvmci_compiler_thread->is_external_suspend();
     } else {
       // Still waiting on JVMCI compiler queue. This thread may be holding a lock
       // that all JVMCI compiler threads are blocked on. We use the counter for
       // successful JVMCI compilations to determine whether JVMCI compilation
       // is still making progress through the JVMCI compiler queue.
< prev index next >