66
67 enum SafepointingThread {
68 _null_thread = 0,
69 _vm_thread = 1,
70 _other_thread = 2
71 };
72
73 enum SafepointTimeoutReason {
74 _spinning_timeout = 0,
75 _blocking_timeout = 1
76 };
77
78 // The enums are listed in the order of the tasks when done serially.
79 enum SafepointCleanupTasks {
80 SAFEPOINT_CLEANUP_DEFLATE_MONITORS,
81 SAFEPOINT_CLEANUP_UPDATE_INLINE_CACHES,
82 SAFEPOINT_CLEANUP_COMPILATION_POLICY,
83 SAFEPOINT_CLEANUP_SYMBOL_TABLE_REHASH,
84 SAFEPOINT_CLEANUP_STRING_TABLE_REHASH,
85 SAFEPOINT_CLEANUP_CLD_PURGE,
86 // Leave this one last.
87 SAFEPOINT_CLEANUP_NUM_TASKS
88 };
89
90 typedef struct {
91 float _time_stamp; // record when the current safepoint occurs in seconds
92 int _vmop_type; // type of VM operation triggers the safepoint
93 int _nof_total_threads; // total number of Java threads
94 int _nof_initial_running_threads; // total number of initially seen running threads
95 int _nof_threads_wait_to_block; // total number of threads waiting for to block
96 bool _page_armed; // true if polling page is armed, false otherwise
97 int _nof_threads_hit_page_trap; // total number of threads hitting the page trap
98 jlong _time_to_spin; // total time in millis spent in spinning
99 jlong _time_to_wait_to_block; // total time in millis spent in waiting for to block
100 jlong _time_to_do_cleanups; // total time in millis spent in performing cleanups
101 jlong _time_to_sync; // total time in millis spent in getting to _synchronized
102 jlong _time_to_exec_vmop; // total time in millis spent in vm operation itself
103 } SafepointStats;
104
105 private:
|
66
67 enum SafepointingThread {
68 _null_thread = 0,
69 _vm_thread = 1,
70 _other_thread = 2
71 };
72
73 enum SafepointTimeoutReason {
74 _spinning_timeout = 0,
75 _blocking_timeout = 1
76 };
77
78 // The enums are listed in the order of the tasks when done serially.
79 enum SafepointCleanupTasks {
80 SAFEPOINT_CLEANUP_DEFLATE_MONITORS,
81 SAFEPOINT_CLEANUP_UPDATE_INLINE_CACHES,
82 SAFEPOINT_CLEANUP_COMPILATION_POLICY,
83 SAFEPOINT_CLEANUP_SYMBOL_TABLE_REHASH,
84 SAFEPOINT_CLEANUP_STRING_TABLE_REHASH,
85 SAFEPOINT_CLEANUP_CLD_PURGE,
86 SAFEPOINT_CLEANUP_SYSTEM_DICTIONARY_RESIZE,
87 // Leave this one last.
88 SAFEPOINT_CLEANUP_NUM_TASKS
89 };
90
91 typedef struct {
92 float _time_stamp; // record when the current safepoint occurs in seconds
93 int _vmop_type; // type of VM operation triggers the safepoint
94 int _nof_total_threads; // total number of Java threads
95 int _nof_initial_running_threads; // total number of initially seen running threads
96 int _nof_threads_wait_to_block; // total number of threads waiting for to block
97 bool _page_armed; // true if polling page is armed, false otherwise
98 int _nof_threads_hit_page_trap; // total number of threads hitting the page trap
99 jlong _time_to_spin; // total time in millis spent in spinning
100 jlong _time_to_wait_to_block; // total time in millis spent in waiting for to block
101 jlong _time_to_do_cleanups; // total time in millis spent in performing cleanups
102 jlong _time_to_sync; // total time in millis spent in getting to _synchronized
103 jlong _time_to_exec_vmop; // total time in millis spent in vm operation itself
104 } SafepointStats;
105
106 private:
|