< prev index next >
src/hotspot/share/runtime/thread.hpp
Print this page
rev 47862 : imported patch 10.07.open.rebase_20171110.dcubed
rev 47865 : dholmes CR: Fix indents, trailing spaces and various typos. Add descriptions for the '_cnt', '_max' and '_times" fields, add impl notes to document the type choices.
@@ -2128,28 +2128,43 @@
private:
// Safe Memory Reclamation (SMR) support:
static Monitor* _smr_delete_lock;
// The '_cnt', '_max' and '_times" fields are enabled via
// -XX:+EnableThreadSMRStatistics:
+ // # of parallel threads in _smr_delete_lock->wait().
static uint _smr_delete_lock_wait_cnt;
+ // Max # of parallel threads in _smr_delete_lock->wait().
static uint _smr_delete_lock_wait_max;
- static volatile jint _smr_delete_notify;
- static volatile jint _smr_deleted_thread_cnt;
- static volatile jint _smr_deleted_thread_time_max;
- static volatile jint _smr_deleted_thread_times;
+ // Flag to indicate when an _smr_delete_lock->notify() is needed.
+ static volatile uint _smr_delete_notify;
+ // # of threads deleted over VM lifetime.
+ static volatile uint _smr_deleted_thread_cnt;
+ // Max time in millis to delete a thread.
+ static volatile uint _smr_deleted_thread_time_max;
+ // Cumulative time in millis to delete threads.
+ static volatile uint _smr_deleted_thread_times;
static ThreadsList* volatile _smr_java_thread_list;
static ThreadsList* get_smr_java_thread_list();
static ThreadsList* xchg_smr_java_thread_list(ThreadsList* new_list);
- static long _smr_java_thread_list_alloc_cnt;
- static long _smr_java_thread_list_free_cnt;
+ // # of ThreadsLists allocated over VM lifetime.
+ static uint64_t _smr_java_thread_list_alloc_cnt;
+ // # of ThreadsLists freed over VM lifetime.
+ static uint64_t _smr_java_thread_list_free_cnt;
+ // Max size ThreadsList allocated.
static uint _smr_java_thread_list_max;
+ // Max # of nested ThreadsLists for a thread.
static uint _smr_nested_thread_list_max;
- static volatile jint _smr_tlh_cnt;
- static volatile jint _smr_tlh_time_max;
- static volatile jint _smr_tlh_times;
+ // # of ThreadsListHandles deleted over VM lifetime.
+ static volatile uint _smr_tlh_cnt;
+ // Max time in millis to delete a ThreadsListHandle.
+ static volatile uint _smr_tlh_time_max;
+ // Cumulative time in millis to delete ThreadsListHandles.
+ static volatile uint _smr_tlh_times;
static ThreadsList* _smr_to_delete_list;
+ // # of parallel ThreadsLists on the to-delete list.
static uint _smr_to_delete_list_cnt;
+ // Max # of parallel ThreadsLists on the to-delete list.
static uint _smr_to_delete_list_max;
static JavaThread* _thread_list;
static int _number_of_threads;
static int _number_of_non_daemon_threads;
@@ -2197,15 +2212,15 @@
// locking in order to reduce the traffic on the smr_delete_lock.
static bool smr_delete_notify();
static void set_smr_delete_notify();
static void clear_smr_delete_notify();
static void inc_smr_deleted_thread_cnt();
- static void update_smr_deleted_thread_time_max(jint new_value);
- static void add_smr_deleted_thread_times(jint add_value);
+ static void update_smr_deleted_thread_time_max(uint new_value);
+ static void add_smr_deleted_thread_times(uint add_value);
static void inc_smr_tlh_cnt();
- static void update_smr_tlh_time_max(jint new_value);
- static void add_smr_tlh_times(jint add_value);
+ static void update_smr_tlh_time_max(uint new_value);
+ static void add_smr_tlh_times(uint add_value);
// Initializes the vm and creates the vm thread
static jint create_vm(JavaVMInitArgs* args, bool* canTryAgain);
static void convert_vm_init_libraries_to_agents();
static void create_vm_init_libraries();
< prev index next >