--- old/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp 2018-11-26 21:50:52.036468778 +0100 +++ new/src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp 2018-11-26 21:50:51.612466675 +0100 @@ -63,11 +63,13 @@ UpdateRS, ScanHCC, ScanRS, + OptScanRS, CodeRoots, #if INCLUDE_AOT AOTCodeRoots, #endif ObjCopy, + OptObjCopy, Termination, Other, GCWorkerTotal, @@ -92,6 +94,13 @@ UpdateRSSkippedCards }; + enum GCOptCSetWorkItems { + OptCSetScannedCards, + OptCSetClaimedCards, + OptCSetSkippedCards, + OptCSetUsedMemory + }; + private: // Markers for grouping the phases in the GCPhases enum above static const int GCMainParPhasesLast = GCWorkerEnd; @@ -108,11 +117,17 @@ WorkerDataArray* _scan_rs_claimed_cards; WorkerDataArray* _scan_rs_skipped_cards; + WorkerDataArray* _opt_cset_scanned_cards; + WorkerDataArray* _opt_cset_claimed_cards; + WorkerDataArray* _opt_cset_skipped_cards; + WorkerDataArray* _opt_cset_used_memory; + WorkerDataArray* _termination_attempts; WorkerDataArray* _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; @@ -184,6 +199,7 @@ double print_pre_evacuate_collection_set() const; double print_evacuate_collection_set() const; + double print_evacuate_optional_collection_set() const; double print_post_evacuate_collection_set() const; void print_other(double accounted_ms) const; @@ -199,7 +215,7 @@ // add a number of seconds to a phase void add_time_secs(GCParPhases phase, uint worker_i, double secs); - void record_or_add_objcopy_time_secs(uint worker_i, double secs); + void record_or_add_time_secs(GCParPhases phase, uint worker_i, double secs); void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count, uint index = 0); @@ -234,6 +250,10 @@ _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; }