< 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 **** /* ! * Copyright (c) 2013, 2016, 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. --- 1,7 ---- /* ! * 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,92 **** --- 74,105 ---- 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,183 **** 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); // return the average time for a phase in milliseconds double average_time_ms(GCParPhases phase); ! size_t sum_thread_work_items(GCParPhases phase); public: void record_prepare_tlab_time_ms(double ms) { _cur_prepare_tlab_time_ms = ms; --- 181,196 ---- 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, 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); public: void record_prepare_tlab_time_ms(double ms) { _cur_prepare_tlab_time_ms = ms;
< prev index next >