src/hotspot/share/runtime/thread.hpp
changeset 49848 fcd5df7aa235
parent 49800 69d7398038c5
child 49956 a87f2e7a527c
equal deleted inserted replaced
49847:f22c0b4caad7 49848:fcd5df7aa235
  2027   CompileTask* volatile _task;  // print_threads_compiling can read this concurrently.
  2027   CompileTask* volatile _task;  // print_threads_compiling can read this concurrently.
  2028   CompileQueue*         _queue;
  2028   CompileQueue*         _queue;
  2029   BufferBlob*           _buffer_blob;
  2029   BufferBlob*           _buffer_blob;
  2030 
  2030 
  2031   AbstractCompiler*     _compiler;
  2031   AbstractCompiler*     _compiler;
       
  2032   TimeStamp             _idle_time;
  2032 
  2033 
  2033  public:
  2034  public:
  2034 
  2035 
  2035   static CompilerThread* current();
  2036   static CompilerThread* current();
  2036 
  2037 
  2037   CompilerThread(CompileQueue* queue, CompilerCounters* counters);
  2038   CompilerThread(CompileQueue* queue, CompilerCounters* counters);
       
  2039   ~CompilerThread();
  2038 
  2040 
  2039   bool is_Compiler_thread() const                { return true; }
  2041   bool is_Compiler_thread() const                { return true; }
  2040 
  2042 
  2041   virtual bool can_call_java() const;
  2043   virtual bool can_call_java() const;
  2042 
  2044 
  2060   CompileLog*   log()                            { return _log; }
  2062   CompileLog*   log()                            { return _log; }
  2061   void          init_log(CompileLog* log) {
  2063   void          init_log(CompileLog* log) {
  2062     // Set once, for good.
  2064     // Set once, for good.
  2063     assert(_log == NULL, "set only once");
  2065     assert(_log == NULL, "set only once");
  2064     _log = log;
  2066     _log = log;
       
  2067   }
       
  2068 
       
  2069   void start_idle_timer()                        { _idle_time.update(); }
       
  2070   jlong idle_time_millis() {
       
  2071     return TimeHelper::counter_to_millis(_idle_time.ticks_since_update());
  2065   }
  2072   }
  2066 
  2073 
  2067 #ifndef PRODUCT
  2074 #ifndef PRODUCT
  2068  private:
  2075  private:
  2069   IdealGraphPrinter *_ideal_graph_printer;
  2076   IdealGraphPrinter *_ideal_graph_printer;