# HG changeset patch # User ysr # Date 1258654759 28800 # Node ID 23b9a8d315fcdc54873c1319e05dbe66a051644f # Parent 89f1b9ae89915517613afd840a913d098f6122e3 6902701: G1: protect debugging code related to 6898948 with a debug flag Summary: Protected stats dump with a new develop flag; other than for the dump, reconciled product and non-product behaviour in face of the error. Reviewed-by: tonyp diff -r 89f1b9ae8991 -r 23b9a8d315fc src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Fri Nov 13 11:55:26 2009 -0800 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Thu Nov 19 10:19:19 2009 -0800 @@ -1528,18 +1528,17 @@ _recent_prev_end_times_for_all_gcs_sec->dump(); gclog_or_tty->print_cr("GC = %3.3f, Interval = %3.3f, Ratio = %3.3f", _recent_gc_times_ms->sum(), interval_ms, recent_avg_pause_time_ratio()); - // TEMPORARY: In debug mode, terminate the JVM, so nightly testing explicitly - // flags the sighting by failing the test. - assert(false, "Debugging data for CR 6898948 has been dumped above"); -#else // PRODUCT - // Clip ratio between 0.0 and 1.0 + // In debug mode, terminate the JVM if the user wants to debug at this point. + assert(!G1FailOnFPError, "Debugging data for CR 6898948 has been dumped above"); +#endif // !PRODUCT + // Clip ratio between 0.0 and 1.0, and continue. This will be fixed in + // CR 6902692 by redoing the manner in which the ratio is incrementally computed. if (_recent_avg_pause_time_ratio < 0.0) { _recent_avg_pause_time_ratio = 0.0; } else { assert(_recent_avg_pause_time_ratio - 1.0 > 0.0, "Ctl-point invariant"); _recent_avg_pause_time_ratio = 1.0; } -#endif // PRODUCT } } diff -r 89f1b9ae8991 -r 23b9a8d315fc src/share/vm/gc_implementation/g1/g1_globals.hpp --- a/src/share/vm/gc_implementation/g1/g1_globals.hpp Fri Nov 13 11:55:26 2009 -0800 +++ b/src/share/vm/gc_implementation/g1/g1_globals.hpp Thu Nov 19 10:19:19 2009 -0800 @@ -242,6 +242,10 @@ product(bool, G1UseSurvivorSpaces, true, \ "When true, use survivor space.") \ \ + develop(bool, G1FailOnFPError, false, \ + "When set, G1 will fail when it encounters an FP 'error', " \ + "so as to allow debugging") \ + \ develop(bool, G1FixedTenuringThreshold, false, \ "When set, G1 will not adjust the tenuring threshold") \ \