< prev index next >
src/share/vm/gc/g1/g1GCPhaseTimes.hpp
Print this page
rev 13061 : imported patch 8178148-more-detailed-scan-rs-logging
rev 13062 : imported patch 8178148-sangheon-review
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -74,19 +74,32 @@
YoungFreeCSet,
NonYoungFreeCSet,
GCParPhasesSentinel
};
+ enum GCScanRSWorkItems {
+ ScannedCards,
+ ClaimedCards,
+ SkippedCards
+ };
+
private:
// Markers for grouping the phases in the GCPhases enum above
static const int GCMainParPhasesLast = GCWorkerEnd;
static const int StringDedupPhasesFirst = StringDedupQueueFixup;
static const int StringDedupPhasesLast = StringDedupTableFixup;
WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
+
WorkerDataArray<size_t>* _update_rs_processed_buffers;
+
+ WorkerDataArray<size_t>* _scan_rs_scanned_cards;
+ WorkerDataArray<size_t>* _scan_rs_claimed_cards;
+ WorkerDataArray<size_t>* _scan_rs_skipped_cards;
+
WorkerDataArray<size_t>* _termination_attempts;
+
WorkerDataArray<size_t>* _redirtied_cards;
double _cur_collection_par_time_ms;
double _cur_collection_code_root_fixup_time_ms;
double _cur_strong_code_root_purge_time_ms;
@@ -168,16 +181,16 @@
void record_time_secs(GCParPhases phase, uint worker_i, double secs);
// add a number of seconds to a phase
void add_time_secs(GCParPhases phase, uint worker_i, double secs);
- void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
+ void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count, 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);
+ size_t sum_thread_work_items(GCParPhases phase, uint index = 0);
public:
void record_prepare_tlab_time_ms(double ms) {
_cur_prepare_tlab_time_ms = ms;
< prev index next >