1030 gclog_or_tty->print_cr("(End Time=%3.3f) Recent GC End Times (s):", end_time_sec);
1031 _recent_prev_end_times_for_all_gcs_sec->dump();
1032 gclog_or_tty->print_cr("GC = %3.3f, Interval = %3.3f, Ratio = %3.3f",
1033 _recent_gc_times_ms->sum(), interval_ms, recent_avg_pause_time_ratio());
1034 // In debug mode, terminate the JVM if the user wants to debug at this point.
1035 assert(!G1FailOnFPError, "Debugging data for CR 6898948 has been dumped above");
1036 #endif // !PRODUCT
1037 // Clip ratio between 0.0 and 1.0, and continue. This will be fixed in
1038 // CR 6902692 by redoing the manner in which the ratio is incrementally computed.
1039 if (_recent_avg_pause_time_ratio < 0.0) {
1040 _recent_avg_pause_time_ratio = 0.0;
1041 } else {
1042 assert(_recent_avg_pause_time_ratio - 1.0 > 0.0, "Ctl-point invariant");
1043 _recent_avg_pause_time_ratio = 1.0;
1044 }
1045 }
1046 }
1047
1048 bool new_in_marking_window = _in_marking_window;
1049 bool new_in_marking_window_im = false;
1050 if (during_initial_mark_pause()) {
1051 new_in_marking_window = true;
1052 new_in_marking_window_im = true;
1053 }
1054
1055 if (_last_young_gc) {
1056 // This is supposed to to be the "last young GC" before we start
1057 // doing mixed GCs. Here we decide whether to start mixed GCs or not.
1058
1059 if (!last_pause_included_initial_mark) {
1060 if (next_gc_should_be_mixed("start mixed GCs",
1061 "do not start mixed GCs")) {
1062 set_gcs_are_young(false);
1063 }
1064 } else {
1065 ergo_verbose0(ErgoMixedGCs,
1066 "do not start mixed GCs",
1067 ergo_format_reason("concurrent cycle is about to start"));
1068 }
1069 _last_young_gc = false;
1070 }
|
1030 gclog_or_tty->print_cr("(End Time=%3.3f) Recent GC End Times (s):", end_time_sec);
1031 _recent_prev_end_times_for_all_gcs_sec->dump();
1032 gclog_or_tty->print_cr("GC = %3.3f, Interval = %3.3f, Ratio = %3.3f",
1033 _recent_gc_times_ms->sum(), interval_ms, recent_avg_pause_time_ratio());
1034 // In debug mode, terminate the JVM if the user wants to debug at this point.
1035 assert(!G1FailOnFPError, "Debugging data for CR 6898948 has been dumped above");
1036 #endif // !PRODUCT
1037 // Clip ratio between 0.0 and 1.0, and continue. This will be fixed in
1038 // CR 6902692 by redoing the manner in which the ratio is incrementally computed.
1039 if (_recent_avg_pause_time_ratio < 0.0) {
1040 _recent_avg_pause_time_ratio = 0.0;
1041 } else {
1042 assert(_recent_avg_pause_time_ratio - 1.0 > 0.0, "Ctl-point invariant");
1043 _recent_avg_pause_time_ratio = 1.0;
1044 }
1045 }
1046 }
1047
1048 bool new_in_marking_window = _in_marking_window;
1049 bool new_in_marking_window_im = false;
1050 if (last_pause_included_initial_mark) {
1051 new_in_marking_window = true;
1052 new_in_marking_window_im = true;
1053 }
1054
1055 if (_last_young_gc) {
1056 // This is supposed to to be the "last young GC" before we start
1057 // doing mixed GCs. Here we decide whether to start mixed GCs or not.
1058
1059 if (!last_pause_included_initial_mark) {
1060 if (next_gc_should_be_mixed("start mixed GCs",
1061 "do not start mixed GCs")) {
1062 set_gcs_are_young(false);
1063 }
1064 } else {
1065 ergo_verbose0(ErgoMixedGCs,
1066 "do not start mixed GCs",
1067 ergo_format_reason("concurrent cycle is about to start"));
1068 }
1069 _last_young_gc = false;
1070 }
|