< prev index next >
src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp
Print this page
rev 54087 : imported patch 8218668-reorganize-collection-set
*** 65,77 ****
--- 65,79 ----
UpdateRS,
ScanHCC,
ScanRS,
OptScanRS,
CodeRoots,
+ OptCodeRoots,
ObjCopy,
OptObjCopy,
Termination,
+ OptTermination,
Other,
GCWorkerTotal,
GCWorkerEnd,
StringDedupQueueFixup,
StringDedupTableFixup,
*** 85,95 ****
static const GCParPhases ExtRootScanSubPhasesEnd = SATBFiltering;
enum GCScanRSWorkItems {
ScanRSScannedCards,
ScanRSClaimedCards,
! ScanRSSkippedCards
};
enum GCUpdateRSWorkItems {
UpdateRSProcessedBuffers,
UpdateRSScannedCards,
--- 87,99 ----
static const GCParPhases ExtRootScanSubPhasesEnd = SATBFiltering;
enum GCScanRSWorkItems {
ScanRSScannedCards,
ScanRSClaimedCards,
! ScanRSSkippedCards,
! ScanRSScannedOptRefs,
! ScanRSUsedMemory
};
enum GCUpdateRSWorkItems {
UpdateRSProcessedBuffers,
UpdateRSScannedCards,
*** 99,115 ****
enum GCObjCopyWorkItems {
ObjCopyLABWaste,
ObjCopyLABUndoWaste
};
- enum GCOptCSetWorkItems {
- OptCSetScannedCards,
- OptCSetClaimedCards,
- OptCSetSkippedCards,
- OptCSetUsedMemory
- };
-
private:
// Markers for grouping the phases in the GCPhases enum above
static const int GCMainParPhasesLast = GCWorkerEnd;
WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
--- 103,112 ----
*** 120,142 ****
WorkerDataArray<size_t>* _scan_rs_scanned_cards;
WorkerDataArray<size_t>* _scan_rs_claimed_cards;
WorkerDataArray<size_t>* _scan_rs_skipped_cards;
WorkerDataArray<size_t>* _obj_copy_lab_waste;
WorkerDataArray<size_t>* _obj_copy_lab_undo_waste;
! WorkerDataArray<size_t>* _opt_cset_scanned_cards;
! WorkerDataArray<size_t>* _opt_cset_claimed_cards;
! WorkerDataArray<size_t>* _opt_cset_skipped_cards;
! WorkerDataArray<size_t>* _opt_cset_used_memory;
WorkerDataArray<size_t>* _termination_attempts;
WorkerDataArray<size_t>* _redirtied_cards;
! double _cur_collection_par_time_ms;
double _cur_optional_evac_ms;
double _cur_collection_code_root_fixup_time_ms;
double _cur_strong_code_root_purge_time_ms;
double _cur_evac_fail_recalc_used;
--- 117,145 ----
WorkerDataArray<size_t>* _scan_rs_scanned_cards;
WorkerDataArray<size_t>* _scan_rs_claimed_cards;
WorkerDataArray<size_t>* _scan_rs_skipped_cards;
+ WorkerDataArray<size_t>* _opt_scan_rs_scanned_cards;
+ WorkerDataArray<size_t>* _opt_scan_rs_claimed_cards;
+ WorkerDataArray<size_t>* _opt_scan_rs_skipped_cards;
+ WorkerDataArray<size_t>* _opt_scan_rs_scanned_opt_refs;
+ WorkerDataArray<size_t>* _opt_scan_rs_used_memory;
+
WorkerDataArray<size_t>* _obj_copy_lab_waste;
WorkerDataArray<size_t>* _obj_copy_lab_undo_waste;
! WorkerDataArray<size_t>* _opt_obj_copy_lab_waste;
! WorkerDataArray<size_t>* _opt_obj_copy_lab_undo_waste;
WorkerDataArray<size_t>* _termination_attempts;
+ WorkerDataArray<size_t>* _opt_termination_attempts;
+
WorkerDataArray<size_t>* _redirtied_cards;
! double _cur_collection_initial_evac_time_ms;
double _cur_optional_evac_ms;
double _cur_collection_code_root_fixup_time_ms;
double _cur_strong_code_root_purge_time_ms;
double _cur_evac_fail_recalc_used;
*** 223,236 ****
--- 226,243 ----
// add a number of seconds to a phase
void add_time_secs(GCParPhases phase, uint worker_i, double secs);
void record_or_add_time_secs(GCParPhases phase, uint worker_i, double secs);
+ double get_time_secs(GCParPhases phase, uint worker_i);
+
void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count, uint index = 0);
void record_or_add_thread_work_item(GCParPhases phase, uint worker_i, size_t count, uint index = 0);
+ size_t get_thread_work_item(GCParPhases phase, uint worker_i, uint index = 0);
+
// return the average time for a phase in milliseconds
double average_time_ms(GCParPhases phase);
size_t sum_thread_work_items(GCParPhases phase, uint index = 0);
*** 254,273 ****
void record_expand_heap_time(double ms) {
_cur_expand_heap_time_ms = ms;
}
! void record_par_time(double ms) {
! _cur_collection_par_time_ms = ms;
}
void record_optional_evacuation(double ms) {
_cur_optional_evac_ms = ms;
}
! void record_code_root_fixup_time(double ms) {
! _cur_collection_code_root_fixup_time_ms = ms;
}
void record_strong_code_root_purge_time(double ms) {
_cur_strong_code_root_purge_time_ms = ms;
}
--- 261,280 ----
void record_expand_heap_time(double ms) {
_cur_expand_heap_time_ms = ms;
}
! void record_or_add_initial_evac_time(double ms) {
! _cur_collection_initial_evac_time_ms += ms;
}
void record_optional_evacuation(double ms) {
_cur_optional_evac_ms = ms;
}
! void record_or_add_code_root_fixup_time(double ms) {
! _cur_collection_code_root_fixup_time_ms += ms;
}
void record_strong_code_root_purge_time(double ms) {
_cur_strong_code_root_purge_time_ms = ms;
}
*** 358,368 ****
double cur_collection_start_sec() {
return _cur_collection_start_sec;
}
double cur_collection_par_time_ms() {
! return _cur_collection_par_time_ms;
}
double cur_clear_ct_time_ms() {
return _cur_clear_ct_time_ms;
}
--- 365,375 ----
double cur_collection_start_sec() {
return _cur_collection_start_sec;
}
double cur_collection_par_time_ms() {
! return _cur_collection_initial_evac_time_ms;
}
double cur_clear_ct_time_ms() {
return _cur_clear_ct_time_ms;
}
< prev index next >