Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp @ 10246:194f52aa2f23
7176479: G1: JVM crashes on T5-8 system with 1.5 TB heap
Summary: Refactor G1's hot card cache and card counts table into their own files. Simplify the card counts table, including removing the encoding of the card index in each entry. The card counts table now has a 1:1 correspondence with the cards spanned by heap. Space for the card counts table is reserved from virtual memory (rather than C heap) during JVM startup and is committed/expanded when the heap is expanded. Changes were also reviewed-by Vitaly Davidovich.
Reviewed-by: tschatzl, jmasa
author | johnc |
---|---|
date | Thu, 09 May 2013 11:16:39 -0700 |
parents | 7df93f7c14a5 |
children | f2110083203d |
comparison
equal
deleted
inserted
replaced
10245:923ac8d1df95 | 10246:194f52aa2f23 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
131 | 131 |
132 double _cur_clear_ct_time_ms; | 132 double _cur_clear_ct_time_ms; |
133 double _cur_ref_proc_time_ms; | 133 double _cur_ref_proc_time_ms; |
134 double _cur_ref_enq_time_ms; | 134 double _cur_ref_enq_time_ms; |
135 | 135 |
136 // Card Table Count Cache stats | |
137 double _min_clear_cc_time_ms; // min | |
138 double _max_clear_cc_time_ms; // max | |
139 double _cur_clear_cc_time_ms; // clearing time during current pause | |
140 double _cum_clear_cc_time_ms; // cummulative clearing time | |
141 jlong _num_cc_clears; // number of times the card count cache has been cleared | |
142 | |
143 double _cur_collection_start_sec; | 136 double _cur_collection_start_sec; |
144 double _root_region_scan_wait_time_ms; | 137 double _root_region_scan_wait_time_ms; |
145 | 138 |
146 double _recorded_young_cset_choice_time_ms; | 139 double _recorded_young_cset_choice_time_ms; |
147 double _recorded_non_young_cset_choice_time_ms; | 140 double _recorded_non_young_cset_choice_time_ms; |
225 | 218 |
226 void record_root_region_scan_wait_time(double time_ms) { | 219 void record_root_region_scan_wait_time(double time_ms) { |
227 _root_region_scan_wait_time_ms = time_ms; | 220 _root_region_scan_wait_time_ms = time_ms; |
228 } | 221 } |
229 | 222 |
230 void record_cc_clear_time_ms(double ms); | |
231 | |
232 void record_young_free_cset_time_ms(double time_ms) { | 223 void record_young_free_cset_time_ms(double time_ms) { |
233 _recorded_young_free_cset_time_ms = time_ms; | 224 _recorded_young_free_cset_time_ms = time_ms; |
234 } | 225 } |
235 | 226 |
236 void record_non_young_free_cset_time_ms(double time_ms) { | 227 void record_non_young_free_cset_time_ms(double time_ms) { |