hotspot/src/share/vm/runtime/thread.hpp
changeset 22859 7b88983393b7
parent 22838 82c7497fbad4
child 22870 f939d9a0440d
equal deleted inserted replaced
22858:f4a6f0eba875 22859:7b88983393b7
  1042   // last_Java_pc
  1042   // last_Java_pc
  1043 
  1043 
  1044   address last_Java_pc(void)                         { return _anchor.last_Java_pc(); }
  1044   address last_Java_pc(void)                         { return _anchor.last_Java_pc(); }
  1045 
  1045 
  1046   // Safepoint support
  1046   // Safepoint support
  1047   JavaThreadState thread_state() const           { return _thread_state; }
  1047   // Use membars when accessing volatile _thread_state. See
  1048   void set_thread_state(JavaThreadState s)       { _thread_state=s;      }
  1048   // Threads::create_vm() for size checks.
       
  1049   JavaThreadState thread_state() const           {
       
  1050     return (JavaThreadState) OrderAccess::load_acquire((volatile jint*)&_thread_state);
       
  1051   }
       
  1052   void set_thread_state(JavaThreadState s)       {
       
  1053     OrderAccess::release_store((volatile jint*)&_thread_state, (jint)s);
       
  1054   }
  1049   ThreadSafepointState *safepoint_state() const  { return _safepoint_state;  }
  1055   ThreadSafepointState *safepoint_state() const  { return _safepoint_state;  }
  1050   void set_safepoint_state(ThreadSafepointState *state) { _safepoint_state = state; }
  1056   void set_safepoint_state(ThreadSafepointState *state) { _safepoint_state = state; }
  1051   bool is_at_poll_safepoint()                    { return _safepoint_state->is_at_poll_safepoint(); }
  1057   bool is_at_poll_safepoint()                    { return _safepoint_state->is_at_poll_safepoint(); }
  1052 
  1058 
  1053   // thread has called JavaThread::exit() or is terminated
  1059   // thread has called JavaThread::exit() or is terminated