105 MergeHCCSkippedCards
106 };
107
108 enum GCMergeLBWorkItems {
109 MergeLBDirtyCards,
110 MergeLBSkippedCards
111 };
112
113 enum GCMergePSSWorkItems {
114 MergePSSCopiedBytes,
115 MergePSSLABWasteBytes,
116 MergePSSLABUndoWasteBytes
117 };
118
119 private:
120 // Markers for grouping the phases in the GCPhases enum above
121 static const int GCMainParPhasesLast = GCWorkerEnd;
122
123 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
124
125 WorkerDataArray<size_t>* _merge_rs_merged_sparse;
126 WorkerDataArray<size_t>* _merge_rs_merged_fine;
127 WorkerDataArray<size_t>* _merge_rs_merged_coarse;
128 WorkerDataArray<size_t>* _merge_rs_dirty_cards;
129
130 WorkerDataArray<size_t>* _merge_hcc_dirty_cards;
131 WorkerDataArray<size_t>* _merge_hcc_skipped_cards;
132
133 WorkerDataArray<size_t>* _merge_lb_dirty_cards;
134 WorkerDataArray<size_t>* _merge_lb_skipped_cards;
135
136 WorkerDataArray<size_t>* _scan_hr_scanned_cards;
137 WorkerDataArray<size_t>* _scan_hr_scanned_blocks;
138 WorkerDataArray<size_t>* _scan_hr_claimed_chunks;
139
140 WorkerDataArray<size_t>* _opt_merge_rs_merged_sparse;
141 WorkerDataArray<size_t>* _opt_merge_rs_merged_fine;
142 WorkerDataArray<size_t>* _opt_merge_rs_merged_coarse;
143 WorkerDataArray<size_t>* _opt_merge_rs_dirty_cards;
144
145 WorkerDataArray<size_t>* _opt_scan_hr_scanned_cards;
146 WorkerDataArray<size_t>* _opt_scan_hr_scanned_blocks;
147 WorkerDataArray<size_t>* _opt_scan_hr_claimed_chunks;
148 WorkerDataArray<size_t>* _opt_scan_hr_scanned_opt_refs;
149 WorkerDataArray<size_t>* _opt_scan_hr_used_memory;
150
151 WorkerDataArray<size_t>* _merge_pss_copied_bytes;
152 WorkerDataArray<size_t>* _merge_pss_lab_waste_bytes;
153 WorkerDataArray<size_t>* _merge_pss_lab_undo_waste_bytes;
154
155 WorkerDataArray<size_t>* _termination_attempts;
156
157 WorkerDataArray<size_t>* _opt_termination_attempts;
158
159 WorkerDataArray<size_t>* _redirtied_cards;
160
161 double _cur_collection_initial_evac_time_ms;
162 double _cur_optional_evac_time_ms;
163 double _cur_collection_code_root_fixup_time_ms;
164 double _cur_strong_code_root_purge_time_ms;
165
166 double _cur_evac_fail_recalc_used;
167 double _cur_evac_fail_remove_self_forwards;
168
169 double _cur_string_deduplication_time_ms;
170
171 double _cur_merge_heap_roots_time_ms;
172 double _cur_optional_merge_heap_roots_time_ms;
173
174 double _cur_prepare_merge_heap_roots_time_ms;
175 double _cur_optional_prepare_merge_heap_roots_time_ms;
176
177 double _cur_prepare_tlab_time_ms;
178 double _cur_resize_tlab_time_ms;
179
180 double _cur_derived_pointer_table_update_time_ms;
|
105 MergeHCCSkippedCards
106 };
107
108 enum GCMergeLBWorkItems {
109 MergeLBDirtyCards,
110 MergeLBSkippedCards
111 };
112
113 enum GCMergePSSWorkItems {
114 MergePSSCopiedBytes,
115 MergePSSLABWasteBytes,
116 MergePSSLABUndoWasteBytes
117 };
118
119 private:
120 // Markers for grouping the phases in the GCPhases enum above
121 static const int GCMainParPhasesLast = GCWorkerEnd;
122
123 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
124
125 double _cur_collection_initial_evac_time_ms;
126 double _cur_optional_evac_time_ms;
127 double _cur_collection_code_root_fixup_time_ms;
128 double _cur_strong_code_root_purge_time_ms;
129
130 double _cur_evac_fail_recalc_used;
131 double _cur_evac_fail_remove_self_forwards;
132
133 double _cur_string_deduplication_time_ms;
134
135 double _cur_merge_heap_roots_time_ms;
136 double _cur_optional_merge_heap_roots_time_ms;
137
138 double _cur_prepare_merge_heap_roots_time_ms;
139 double _cur_optional_prepare_merge_heap_roots_time_ms;
140
141 double _cur_prepare_tlab_time_ms;
142 double _cur_resize_tlab_time_ms;
143
144 double _cur_derived_pointer_table_update_time_ms;
|