JVMCI compiler thread idle state is RUNNABLE
    Christian Thalinger 
    cthalinger at twitter.com
       
    Tue Sep  6 21:39:17 UTC 2016
    
    
  
One thing we noticed here at Twitter is that JVMCI threads are not hidden (is_hidden_from_external_view) but at the same time they show up as always active.
I don’t know the history here but I’m speculating that since compiler threads were always hidden no-one bothered.  In the SIGQUIT thread dump compiler threads show up as RUNNABLE:
"C1 CompilerThread3" #8 daemon prio=9 os_prio=31 tid=0x00007fdcc2016800 nid=0x5103 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #7 daemon prio=9 os_prio=31 tid=0x00007fdcc2821800 nid=0x4f03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
The specification of RUNNABLE is:
        /**
         * Thread state for a runnable thread.  A thread in the runnable
         * state is executing in the Java virtual machine but it may
         * be waiting for other resources from the operating system
         * such as processor.
         */
        RUNNABLE,
and that makes sense.  But this is very confusing to the user (as one of our internal users reported to me).  Maybe JVMCI threads should just be hidden, too?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160906/624c82a5/attachment.html>
    
    
More information about the hotspot-compiler-dev
mailing list