hotspot/src/share/vm/runtime/thread.hpp
changeset 29181 89beae49867c
parent 29180 50369728b00e
parent 27917 c5937f7b4e8b
child 29185 41cf0610fedf
equal deleted inserted replaced
29180:50369728b00e 29181:89beae49867c
   210   void enter_signal_handler() { _num_nested_signal++; }
   210   void enter_signal_handler() { _num_nested_signal++; }
   211   void leave_signal_handler() { _num_nested_signal--; }
   211   void leave_signal_handler() { _num_nested_signal--; }
   212   bool is_inside_signal_handler() const { return _num_nested_signal > 0; }
   212   bool is_inside_signal_handler() const { return _num_nested_signal > 0; }
   213 
   213 
   214  private:
   214  private:
   215   // Debug tracing
       
   216   static void trace(const char* msg, const Thread* const thread) PRODUCT_RETURN;
       
   217 
       
   218   // Active_handles points to a block of handles
   215   // Active_handles points to a block of handles
   219   JNIHandleBlock* _active_handles;
   216   JNIHandleBlock* _active_handles;
   220 
   217 
   221   // One-element thread local free list
   218   // One-element thread local free list
   222   JNIHandleBlock* _free_handle_block;
   219   JNIHandleBlock* _free_handle_block;
   750 
   747 
   751 typedef void (*ThreadFunction)(JavaThread*, TRAPS);
   748 typedef void (*ThreadFunction)(JavaThread*, TRAPS);
   752 
   749 
   753 class JavaThread: public Thread {
   750 class JavaThread: public Thread {
   754   friend class VMStructs;
   751   friend class VMStructs;
       
   752   friend class WhiteBox;
   755  private:
   753  private:
   756   JavaThread*    _next;                          // The next thread in the Threads list
   754   JavaThread*    _next;                          // The next thread in the Threads list
   757   oop            _threadObj;                     // The Java level thread object
   755   oop            _threadObj;                     // The Java level thread object
   758 
   756 
   759 #ifdef ASSERT
   757 #ifdef ASSERT
  1001 
   999 
  1002 
  1000 
  1003   ThreadFunction entry_point() const             { return _entry_point; }
  1001   ThreadFunction entry_point() const             { return _entry_point; }
  1004 
  1002 
  1005   // Allocates a new Java level thread object for this thread. thread_name may be NULL.
  1003   // Allocates a new Java level thread object for this thread. thread_name may be NULL.
  1006   void allocate_threadObj(Handle thread_group, char* thread_name, bool daemon, TRAPS);
  1004   void allocate_threadObj(Handle thread_group, const char* thread_name, bool daemon, TRAPS);
  1007 
  1005 
  1008   // Last frame anchor routines
  1006   // Last frame anchor routines
  1009 
  1007 
  1010   JavaFrameAnchor* frame_anchor(void)            { return &_anchor; }
  1008   JavaFrameAnchor* frame_anchor(void)            { return &_anchor; }
  1011 
  1009