equal
deleted
inserted
replaced
63 virtual MainBodySummary* main_body_summary() { return NULL; } |
63 virtual MainBodySummary* main_body_summary() { return NULL; } |
64 }; |
64 }; |
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(root_region_scan_wait) |
68 define_num_seq(parallel) // parallel only |
69 define_num_seq(parallel) // parallel only |
69 define_num_seq(ext_root_scan) |
70 define_num_seq(ext_root_scan) |
70 define_num_seq(satb_filtering) |
71 define_num_seq(satb_filtering) |
71 define_num_seq(update_rs) |
72 define_num_seq(update_rs) |
72 define_num_seq(scan_rs) |
73 define_num_seq(scan_rs) |
713 // determine whether we should initiate a new marking. |
714 // determine whether we should initiate a new marking. |
714 double _cur_mark_stop_world_time_ms; |
715 double _cur_mark_stop_world_time_ms; |
715 double _mark_remark_start_sec; |
716 double _mark_remark_start_sec; |
716 double _mark_cleanup_start_sec; |
717 double _mark_cleanup_start_sec; |
717 double _mark_closure_time_ms; |
718 double _mark_closure_time_ms; |
|
719 double _root_region_scan_wait_time_ms; |
718 |
720 |
719 // Update the young list target length either by setting it to the |
721 // Update the young list target length either by setting it to the |
720 // desired fixed value or by calculating it using G1's pause |
722 // desired fixed value or by calculating it using G1's pause |
721 // prediction model. If no rs_lengths parameter is passed, predict |
723 // prediction model. If no rs_lengths parameter is passed, predict |
722 // the RS lengths using the prediction model, otherwise use the |
724 // the RS lengths using the prediction model, otherwise use the |
815 |
817 |
816 void record_mark_closure_time(double mark_closure_time_ms) { |
818 void record_mark_closure_time(double mark_closure_time_ms) { |
817 _mark_closure_time_ms = mark_closure_time_ms; |
819 _mark_closure_time_ms = mark_closure_time_ms; |
818 } |
820 } |
819 |
821 |
|
822 void record_root_region_scan_wait_time(double time_ms) { |
|
823 _root_region_scan_wait_time_ms = time_ms; |
|
824 } |
|
825 |
820 void record_concurrent_mark_remark_start(); |
826 void record_concurrent_mark_remark_start(); |
821 void record_concurrent_mark_remark_end(); |
827 void record_concurrent_mark_remark_end(); |
822 |
828 |
823 void record_concurrent_mark_cleanup_start(); |
829 void record_concurrent_mark_cleanup_start(); |
824 void record_concurrent_mark_cleanup_end(int no_of_gc_threads); |
830 void record_concurrent_mark_cleanup_end(int no_of_gc_threads); |
1145 |
1151 |
1146 void note_stop_adding_survivor_regions() { |
1152 void note_stop_adding_survivor_regions() { |
1147 _survivor_surv_rate_group->stop_adding_regions(); |
1153 _survivor_surv_rate_group->stop_adding_regions(); |
1148 } |
1154 } |
1149 |
1155 |
1150 void tenure_all_objects() { |
|
1151 _max_survivor_regions = 0; |
|
1152 _tenuring_threshold = 0; |
|
1153 } |
|
1154 |
|
1155 void record_survivor_regions(size_t regions, |
1156 void record_survivor_regions(size_t regions, |
1156 HeapRegion* head, |
1157 HeapRegion* head, |
1157 HeapRegion* tail) { |
1158 HeapRegion* tail) { |
1158 _recorded_survivor_regions = regions; |
1159 _recorded_survivor_regions = regions; |
1159 _recorded_survivor_head = head; |
1160 _recorded_survivor_head = head; |