equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2001, 2012, 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. |
65 |
65 |
66 class MainBodySummary: public CHeapObj { |
66 class MainBodySummary: public CHeapObj { |
67 define_num_seq(satb_drain) // optional |
67 define_num_seq(satb_drain) // optional |
68 define_num_seq(parallel) // parallel only |
68 define_num_seq(parallel) // parallel only |
69 define_num_seq(ext_root_scan) |
69 define_num_seq(ext_root_scan) |
70 define_num_seq(mark_stack_scan) |
70 define_num_seq(satb_filtering) |
71 define_num_seq(update_rs) |
71 define_num_seq(update_rs) |
72 define_num_seq(scan_rs) |
72 define_num_seq(scan_rs) |
73 define_num_seq(obj_copy) |
73 define_num_seq(obj_copy) |
74 define_num_seq(termination) // parallel only |
74 define_num_seq(termination) // parallel only |
75 define_num_seq(parallel_other) // parallel only |
75 define_num_seq(parallel_other) // parallel only |
213 double* _cur_aux_times_ms; |
213 double* _cur_aux_times_ms; |
214 bool* _cur_aux_times_set; |
214 bool* _cur_aux_times_set; |
215 |
215 |
216 double* _par_last_gc_worker_start_times_ms; |
216 double* _par_last_gc_worker_start_times_ms; |
217 double* _par_last_ext_root_scan_times_ms; |
217 double* _par_last_ext_root_scan_times_ms; |
218 double* _par_last_mark_stack_scan_times_ms; |
218 double* _par_last_satb_filtering_times_ms; |
219 double* _par_last_update_rs_times_ms; |
219 double* _par_last_update_rs_times_ms; |
220 double* _par_last_update_rs_processed_buffers; |
220 double* _par_last_update_rs_processed_buffers; |
221 double* _par_last_scan_rs_times_ms; |
221 double* _par_last_scan_rs_times_ms; |
222 double* _par_last_obj_copy_times_ms; |
222 double* _par_last_obj_copy_times_ms; |
223 double* _par_last_termination_times_ms; |
223 double* _par_last_termination_times_ms; |
839 |
839 |
840 void record_ext_root_scan_time(int worker_i, double ms) { |
840 void record_ext_root_scan_time(int worker_i, double ms) { |
841 _par_last_ext_root_scan_times_ms[worker_i] = ms; |
841 _par_last_ext_root_scan_times_ms[worker_i] = ms; |
842 } |
842 } |
843 |
843 |
844 void record_mark_stack_scan_time(int worker_i, double ms) { |
844 void record_satb_filtering_time(int worker_i, double ms) { |
845 _par_last_mark_stack_scan_times_ms[worker_i] = ms; |
845 _par_last_satb_filtering_times_ms[worker_i] = ms; |
846 } |
846 } |
847 |
847 |
848 void record_satb_drain_time(double ms) { |
848 void record_satb_drain_time(double ms) { |
849 assert(_g1->mark_in_progress(), "shouldn't be here otherwise"); |
849 assert(_g1->mark_in_progress(), "shouldn't be here otherwise"); |
850 _cur_satb_drain_time_ms = ms; |
850 _cur_satb_drain_time_ms = ms; |
1144 |
1144 |
1145 void note_stop_adding_survivor_regions() { |
1145 void note_stop_adding_survivor_regions() { |
1146 _survivor_surv_rate_group->stop_adding_regions(); |
1146 _survivor_surv_rate_group->stop_adding_regions(); |
1147 } |
1147 } |
1148 |
1148 |
|
1149 void tenure_all_objects() { |
|
1150 _max_survivor_regions = 0; |
|
1151 _tenuring_threshold = 0; |
|
1152 } |
|
1153 |
1149 void record_survivor_regions(size_t regions, |
1154 void record_survivor_regions(size_t regions, |
1150 HeapRegion* head, |
1155 HeapRegion* head, |
1151 HeapRegion* tail) { |
1156 HeapRegion* tail) { |
1152 _recorded_survivor_regions = regions; |
1157 _recorded_survivor_regions = regions; |
1153 _recorded_survivor_head = head; |
1158 _recorded_survivor_head = head; |