< prev index next >

src/hotspot/share/runtime/threadSMR.hpp

Print this page




 127   static bool delete_notify();
 128   static void free_list(ThreadsList* threads);
 129   static void inc_deleted_thread_cnt();
 130   static void inc_java_thread_list_alloc_cnt();
 131   static void inc_tlh_cnt();
 132   static void release_stable_list_wake_up(bool is_nested);
 133   static void set_delete_notify();
 134   static void threads_do(ThreadClosure *tc);
 135   static void threads_do(ThreadClosure *tc, ThreadsList *list);
 136   static void update_deleted_thread_time_max(uint new_value);
 137   static void update_java_thread_list_max(uint new_value);
 138   static void update_tlh_time_max(uint new_value);
 139   static void verify_hazard_ptr_scanned(Thread *self, ThreadsList *threads);
 140   static ThreadsList* xchg_java_thread_list(ThreadsList* new_list);
 141 
 142  public:
 143   static void add_thread(JavaThread *thread);
 144   static ThreadsList* get_java_thread_list();
 145   static bool is_a_protected_JavaThread(JavaThread *thread);
 146   static bool is_a_protected_JavaThread_with_lock(JavaThread *thread);

 147   static bool is_bootstrap_list(ThreadsList* list);
 148   static void remove_thread(JavaThread *thread);
 149   static void smr_delete(JavaThread *thread);
 150   static void update_tlh_stats(uint millis);
 151 
 152   // Logging and printing support:
 153   static void log_statistics();
 154   static void print_info_elements_on(outputStream* st, ThreadsList* t_list);
 155   static void print_info_on(outputStream* st);
 156   static void print_info_on(const Thread* thread, outputStream* st);
 157 };
 158 
 159 // A fast list of JavaThreads.
 160 //
 161 class ThreadsList : public CHeapObj<mtThread> {
 162   friend class VMStructs;
 163   friend class SafeThreadsListPtr;  // for {dec,inc}_nested_handle_cnt() access
 164   friend class ThreadsSMRSupport;  // for _nested_handle_cnt, {add,remove}_thread(), {,set_}next_list() access
 165 
 166   const uint _length;




 127   static bool delete_notify();
 128   static void free_list(ThreadsList* threads);
 129   static void inc_deleted_thread_cnt();
 130   static void inc_java_thread_list_alloc_cnt();
 131   static void inc_tlh_cnt();
 132   static void release_stable_list_wake_up(bool is_nested);
 133   static void set_delete_notify();
 134   static void threads_do(ThreadClosure *tc);
 135   static void threads_do(ThreadClosure *tc, ThreadsList *list);
 136   static void update_deleted_thread_time_max(uint new_value);
 137   static void update_java_thread_list_max(uint new_value);
 138   static void update_tlh_time_max(uint new_value);
 139   static void verify_hazard_ptr_scanned(Thread *self, ThreadsList *threads);
 140   static ThreadsList* xchg_java_thread_list(ThreadsList* new_list);
 141 
 142  public:
 143   static void add_thread(JavaThread *thread);
 144   static ThreadsList* get_java_thread_list();
 145   static bool is_a_protected_JavaThread(JavaThread *thread);
 146   static bool is_a_protected_JavaThread_with_lock(JavaThread *thread);
 147   static void wait_until_not_protected(JavaThread *thread);
 148   static bool is_bootstrap_list(ThreadsList* list);
 149   static void remove_thread(JavaThread *thread);
 150   static void smr_delete(JavaThread *thread);
 151   static void update_tlh_stats(uint millis);
 152 
 153   // Logging and printing support:
 154   static void log_statistics();
 155   static void print_info_elements_on(outputStream* st, ThreadsList* t_list);
 156   static void print_info_on(outputStream* st);
 157   static void print_info_on(const Thread* thread, outputStream* st);
 158 };
 159 
 160 // A fast list of JavaThreads.
 161 //
 162 class ThreadsList : public CHeapObj<mtThread> {
 163   friend class VMStructs;
 164   friend class SafeThreadsListPtr;  // for {dec,inc}_nested_handle_cnt() access
 165   friend class ThreadsSMRSupport;  // for _nested_handle_cnt, {add,remove}_thread(), {,set_}next_list() access
 166 
 167   const uint _length;


< prev index next >