Mercurial > hg > graal-jvmci-8
annotate src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp @ 23660:b5f3a471e646
Merge.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 01 Jun 2016 00:11:44 +0200 |
parents | a5b77ac78ad2 |
children |
rev | line source |
---|---|
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
1 /* |
23089
a5b77ac78ad2
8129602: Incorrect GPL header causes RE script to create wrong output
tschatzl
parents:
23024
diff
changeset
|
2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
4 * |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
8 * |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
13 * accompanied this code). |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
14 * |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
18 * |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
21 * questions. |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
22 * |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
23 */ |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
24 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
26 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
27 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
28 #include "memory/allocation.hpp" |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
29 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
30 class LineBuffer; |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
31 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
32 template <class T> class WorkerDataArray; |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
33 |
6220 | 34 class G1GCPhaseTimes : public CHeapObj<mtGC> { |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
35 friend class G1GCParPhasePrinter; |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
36 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
37 uint _active_gc_threads; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
38 uint _max_gc_threads; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
39 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
40 public: |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
41 enum GCParPhases { |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
42 GCWorkerStart, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
43 ExtRootScan, |
22910
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
44 ThreadRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
45 StringTableRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
46 UniverseRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
47 JNIRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
48 ObjectSynchronizerRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
49 FlatProfilerRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
50 ManagementRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
51 SystemDictionaryRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
52 CLDGRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
53 JVMTIRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
54 CodeCacheRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
55 CMRefRoots, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
56 WaitForStrongCLD, |
3ca53859c3c7
8027962: Per-phase timing measurements for strong roots processing
brutisso
parents:
22908
diff
changeset
|
57 WeakCLDRoots, |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
58 SATBFiltering, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
59 UpdateRS, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
60 ScanRS, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
61 CodeRoots, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
62 ObjCopy, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
63 Termination, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
64 Other, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
65 GCWorkerTotal, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
66 GCWorkerEnd, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
67 StringDedupQueueFixup, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
68 StringDedupTableFixup, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
69 RedirtyCards, |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
70 GCParPhasesSentinel |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
71 }; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
72 |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
73 private: |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
74 // Markers for grouping the phases in the GCPhases enum above |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
75 static const int GCMainParPhasesLast = GCWorkerEnd; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
76 static const int StringDedupPhasesFirst = StringDedupQueueFixup; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
77 static const int StringDedupPhasesLast = StringDedupTableFixup; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
78 |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
79 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel]; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
80 WorkerDataArray<size_t>* _update_rs_processed_buffers; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
81 WorkerDataArray<size_t>* _termination_attempts; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
82 WorkerDataArray<size_t>* _redirtied_cards; |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
83 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
84 double _cur_collection_par_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
85 double _cur_collection_code_root_fixup_time_ms; |
17753
191174b49bec
8035406: Improve data structure for Code Cache remembered sets
tschatzl
parents:
12080
diff
changeset
|
86 double _cur_strong_code_root_purge_time_ms; |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
87 |
17757
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
88 double _cur_evac_fail_recalc_used; |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
89 double _cur_evac_fail_restore_remsets; |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
90 double _cur_evac_fail_remove_self_forwards; |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
91 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
92 double _cur_string_dedup_fixup_time_ms; |
17764 | 93 |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
94 double _cur_clear_ct_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
95 double _cur_ref_proc_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
96 double _cur_ref_enq_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
97 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
98 double _cur_collection_start_sec; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
99 double _root_region_scan_wait_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
100 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
101 double _recorded_young_cset_choice_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
102 double _recorded_non_young_cset_choice_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
103 |
17756
a07bea31ef35
8035398: Add card redirty time in "Other" time in G1
tschatzl
parents:
17753
diff
changeset
|
104 double _recorded_redirty_logged_cards_time_ms; |
a07bea31ef35
8035398: Add card redirty time in "Other" time in G1
tschatzl
parents:
17753
diff
changeset
|
105 |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
106 double _recorded_young_free_cset_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
107 double _recorded_non_young_free_cset_time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
108 |
20296
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
109 double _cur_fast_reclaim_humongous_time_ms; |
23024
cbc7c4c9e11c
8048179: Early reclaim of large objects that are referenced by a few objects
tschatzl
parents:
22910
diff
changeset
|
110 double _cur_fast_reclaim_humongous_register_time_ms; |
20296
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
111 size_t _cur_fast_reclaim_humongous_total; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
112 size_t _cur_fast_reclaim_humongous_candidates; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
113 size_t _cur_fast_reclaim_humongous_reclaimed; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
114 |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
115 double _cur_verify_before_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
116 double _cur_verify_after_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
117 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
118 // Helper methods for detailed logging |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
119 void print_stats(int level, const char* str, double value); |
20296
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
120 void print_stats(int level, const char* str, size_t value); |
17844
8847586c9037
8016302: Change type of the number of GC workers to unsigned int (2)
vkempik
parents:
17764
diff
changeset
|
121 void print_stats(int level, const char* str, double value, uint workers); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
122 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
123 public: |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
124 G1GCPhaseTimes(uint max_gc_threads); |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
125 void note_gc_start(uint active_gc_threads, bool mark_in_progress); |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
126 void note_gc_end(); |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
127 void print(double pause_time_sec); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
128 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
129 // record the time a phase took in seconds |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
130 void record_time_secs(GCParPhases phase, uint worker_i, double secs); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
131 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
132 // add a number of seconds to a phase |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
133 void add_time_secs(GCParPhases phase, uint worker_i, double secs); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
134 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
135 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
136 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
137 // return the average time for a phase in milliseconds |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
138 double average_time_ms(GCParPhases phase); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
139 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
140 size_t sum_thread_work_items(GCParPhases phase); |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
141 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
142 private: |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
143 double get_time_ms(GCParPhases phase, uint worker_i); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
144 double sum_time_ms(GCParPhases phase); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
145 double min_time_ms(GCParPhases phase); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
146 double max_time_ms(GCParPhases phase); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
147 size_t get_thread_work_item(GCParPhases phase, uint worker_i); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
148 double average_thread_work_items(GCParPhases phase); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
149 size_t min_thread_work_items(GCParPhases phase); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
150 size_t max_thread_work_items(GCParPhases phase); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
151 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
152 public: |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
153 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
154 void record_clear_ct_time(double ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
155 _cur_clear_ct_time_ms = ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
156 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
157 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
158 void record_par_time(double ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
159 _cur_collection_par_time_ms = ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
160 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
161 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
162 void record_code_root_fixup_time(double ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
163 _cur_collection_code_root_fixup_time_ms = ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
164 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
165 |
17753
191174b49bec
8035406: Improve data structure for Code Cache remembered sets
tschatzl
parents:
12080
diff
changeset
|
166 void record_strong_code_root_purge_time(double ms) { |
191174b49bec
8035406: Improve data structure for Code Cache remembered sets
tschatzl
parents:
12080
diff
changeset
|
167 _cur_strong_code_root_purge_time_ms = ms; |
191174b49bec
8035406: Improve data structure for Code Cache remembered sets
tschatzl
parents:
12080
diff
changeset
|
168 } |
191174b49bec
8035406: Improve data structure for Code Cache remembered sets
tschatzl
parents:
12080
diff
changeset
|
169 |
17757
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
170 void record_evac_fail_recalc_used_time(double ms) { |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
171 _cur_evac_fail_recalc_used = ms; |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
172 } |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
173 |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
174 void record_evac_fail_restore_remsets(double ms) { |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
175 _cur_evac_fail_restore_remsets = ms; |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
176 } |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
177 |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
178 void record_evac_fail_remove_self_forwards(double ms) { |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
179 _cur_evac_fail_remove_self_forwards = ms; |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
180 } |
eff02b5bd56c
8035654: Add times for evacuation failure handling in "Other" time
tschatzl
parents:
17756
diff
changeset
|
181 |
17764 | 182 void record_string_dedup_fixup_time(double ms) { |
183 _cur_string_dedup_fixup_time_ms = ms; | |
184 } | |
185 | |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
186 void record_ref_proc_time(double ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
187 _cur_ref_proc_time_ms = ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
188 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
189 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
190 void record_ref_enq_time(double ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
191 _cur_ref_enq_time_ms = ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
192 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
193 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
194 void record_root_region_scan_wait_time(double time_ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
195 _root_region_scan_wait_time_ms = time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
196 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
197 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
198 void record_young_free_cset_time_ms(double time_ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
199 _recorded_young_free_cset_time_ms = time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
200 } |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
201 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
202 void record_non_young_free_cset_time_ms(double time_ms) { |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
203 _recorded_non_young_free_cset_time_ms = time_ms; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
204 } |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
205 |
23024
cbc7c4c9e11c
8048179: Early reclaim of large objects that are referenced by a few objects
tschatzl
parents:
22910
diff
changeset
|
206 void record_fast_reclaim_humongous_stats(double time_ms, size_t total, size_t candidates) { |
cbc7c4c9e11c
8048179: Early reclaim of large objects that are referenced by a few objects
tschatzl
parents:
22910
diff
changeset
|
207 _cur_fast_reclaim_humongous_register_time_ms = time_ms; |
20296
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
208 _cur_fast_reclaim_humongous_total = total; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
209 _cur_fast_reclaim_humongous_candidates = candidates; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
210 } |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
211 |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
212 void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) { |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
213 _cur_fast_reclaim_humongous_time_ms = value; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
214 _cur_fast_reclaim_humongous_reclaimed = reclaimed; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
215 } |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
216 |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
217 void record_young_cset_choice_time_ms(double time_ms) { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
218 _recorded_young_cset_choice_time_ms = time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
219 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
220 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
221 void record_non_young_cset_choice_time_ms(double time_ms) { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
222 _recorded_non_young_cset_choice_time_ms = time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
223 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
224 |
17756
a07bea31ef35
8035398: Add card redirty time in "Other" time in G1
tschatzl
parents:
17753
diff
changeset
|
225 void record_redirty_logged_cards_time_ms(double time_ms) { |
a07bea31ef35
8035398: Add card redirty time in "Other" time in G1
tschatzl
parents:
17753
diff
changeset
|
226 _recorded_redirty_logged_cards_time_ms = time_ms; |
a07bea31ef35
8035398: Add card redirty time in "Other" time in G1
tschatzl
parents:
17753
diff
changeset
|
227 } |
a07bea31ef35
8035398: Add card redirty time in "Other" time in G1
tschatzl
parents:
17753
diff
changeset
|
228 |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
229 void record_cur_collection_start_sec(double time_ms) { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
230 _cur_collection_start_sec = time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
231 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
232 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
233 void record_verify_before_time_ms(double time_ms) { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
234 _cur_verify_before_time_ms = time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
235 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
236 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
237 void record_verify_after_time_ms(double time_ms) { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
238 _cur_verify_after_time_ms = time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
239 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
240 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
241 double accounted_time_ms(); |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
242 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
243 double cur_collection_start_sec() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
244 return _cur_collection_start_sec; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
245 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
246 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
247 double cur_collection_par_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
248 return _cur_collection_par_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
249 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
250 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
251 double cur_clear_ct_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
252 return _cur_clear_ct_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
253 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
254 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
255 double root_region_scan_wait_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
256 return _root_region_scan_wait_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
257 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
258 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
259 double young_cset_choice_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
260 return _recorded_young_cset_choice_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
261 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
262 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
263 double young_free_cset_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
264 return _recorded_young_free_cset_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
265 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
266 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
267 double non_young_cset_choice_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
268 return _recorded_non_young_cset_choice_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
269 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
270 |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
271 double non_young_free_cset_time_ms() { |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
272 return _recorded_non_young_free_cset_time_ms; |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
273 } |
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
274 |
20296
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
275 double fast_reclaim_humongous_time_ms() { |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
276 return _cur_fast_reclaim_humongous_time_ms; |
a3953c777565
8027959: Early reclamation of large objects in G1
tschatzl
parents:
20278
diff
changeset
|
277 } |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
278 }; |
6628
bb3f6194fedb
7178363: G1: Remove the serial code for PrintGCDetails and make it a special case of the parallel code
brutisso
parents:
6220
diff
changeset
|
279 |
22908
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
280 class G1GCParPhaseTimesTracker : public StackObj { |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
281 double _start_time; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
282 G1GCPhaseTimes::GCParPhases _phase; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
283 G1GCPhaseTimes* _phase_times; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
284 uint _worker_id; |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
285 public: |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
286 G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase, uint worker_id); |
c3fcc09c9239
8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
brutisso
parents:
20494
diff
changeset
|
287 ~G1GCParPhaseTimesTracker(); |
6219
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
288 }; |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
289 |
922993931b3d
7178361: G1: Make sure that PrintGC and PrintGCDetails use the same timing for the GC pause
brutisso
parents:
diff
changeset
|
290 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP |