76 StringDedupQueueFixup,
77 StringDedupTableFixup,
78 RedirtyCards,
79 YoungFreeCSet,
80 NonYoungFreeCSet,
81 GCParPhasesSentinel
82 };
83
84 enum GCScanRSWorkItems {
85 ScanRSScannedCards,
86 ScanRSClaimedCards,
87 ScanRSSkippedCards
88 };
89
90 enum GCUpdateRSWorkItems {
91 UpdateRSProcessedBuffers,
92 UpdateRSScannedCards,
93 UpdateRSSkippedCards
94 };
95
96 enum GCOptCSetWorkItems {
97 OptCSetScannedCards,
98 OptCSetClaimedCards,
99 OptCSetSkippedCards,
100 OptCSetUsedMemory
101 };
102
103 private:
104 // Markers for grouping the phases in the GCPhases enum above
105 static const int GCMainParPhasesLast = GCWorkerEnd;
106
107 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
108
109 WorkerDataArray<size_t>* _update_rs_processed_buffers;
110 WorkerDataArray<size_t>* _update_rs_scanned_cards;
111 WorkerDataArray<size_t>* _update_rs_skipped_cards;
112
113 WorkerDataArray<size_t>* _scan_rs_scanned_cards;
114 WorkerDataArray<size_t>* _scan_rs_claimed_cards;
115 WorkerDataArray<size_t>* _scan_rs_skipped_cards;
116
117 WorkerDataArray<size_t>* _opt_cset_scanned_cards;
118 WorkerDataArray<size_t>* _opt_cset_claimed_cards;
119 WorkerDataArray<size_t>* _opt_cset_skipped_cards;
120 WorkerDataArray<size_t>* _opt_cset_used_memory;
121
122 WorkerDataArray<size_t>* _termination_attempts;
123
124 WorkerDataArray<size_t>* _redirtied_cards;
125
126 double _cur_collection_par_time_ms;
127 double _cur_optional_evac_ms;
128 double _cur_collection_code_root_fixup_time_ms;
129 double _cur_strong_code_root_purge_time_ms;
130
131 double _cur_evac_fail_recalc_used;
132 double _cur_evac_fail_remove_self_forwards;
133
134 double _cur_string_deduplication_time_ms;
135
|
76 StringDedupQueueFixup,
77 StringDedupTableFixup,
78 RedirtyCards,
79 YoungFreeCSet,
80 NonYoungFreeCSet,
81 GCParPhasesSentinel
82 };
83
84 enum GCScanRSWorkItems {
85 ScanRSScannedCards,
86 ScanRSClaimedCards,
87 ScanRSSkippedCards
88 };
89
90 enum GCUpdateRSWorkItems {
91 UpdateRSProcessedBuffers,
92 UpdateRSScannedCards,
93 UpdateRSSkippedCards
94 };
95
96 enum GCObjCopyWorkItems {
97 ObjCopyLABWaste,
98 ObjCopyLABUndoWaste
99 };
100
101 enum GCOptCSetWorkItems {
102 OptCSetScannedCards,
103 OptCSetClaimedCards,
104 OptCSetSkippedCards,
105 OptCSetUsedMemory
106 };
107
108 private:
109 // Markers for grouping the phases in the GCPhases enum above
110 static const int GCMainParPhasesLast = GCWorkerEnd;
111
112 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
113
114 WorkerDataArray<size_t>* _update_rs_processed_buffers;
115 WorkerDataArray<size_t>* _update_rs_scanned_cards;
116 WorkerDataArray<size_t>* _update_rs_skipped_cards;
117
118 WorkerDataArray<size_t>* _scan_rs_scanned_cards;
119 WorkerDataArray<size_t>* _scan_rs_claimed_cards;
120 WorkerDataArray<size_t>* _scan_rs_skipped_cards;
121
122 WorkerDataArray<size_t>* _obj_copy_lab_waste;
123 WorkerDataArray<size_t>* _obj_copy_lab_undo_waste;
124
125 WorkerDataArray<size_t>* _opt_cset_scanned_cards;
126 WorkerDataArray<size_t>* _opt_cset_claimed_cards;
127 WorkerDataArray<size_t>* _opt_cset_skipped_cards;
128 WorkerDataArray<size_t>* _opt_cset_used_memory;
129
130 WorkerDataArray<size_t>* _termination_attempts;
131
132 WorkerDataArray<size_t>* _redirtied_cards;
133
134 double _cur_collection_par_time_ms;
135 double _cur_optional_evac_ms;
136 double _cur_collection_code_root_fixup_time_ms;
137 double _cur_strong_code_root_purge_time_ms;
138
139 double _cur_evac_fail_recalc_used;
140 double _cur_evac_fail_remove_self_forwards;
141
142 double _cur_string_deduplication_time_ms;
143
|