6902701: G1: protect debugging code related to 6898948 with a debug flag
authorysr
Thu, 19 Nov 2009 10:19:19 -0800
changeset 4457 f05d2dc1c332
parent 4456 fa02c2ef7a70
child 4458 075a9ef4e467
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
hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Fri Nov 13 11:55:26 2009 -0800
+++ b/hotspot/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
     }
   }
 
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp	Fri Nov 13 11:55:26 2009 -0800
+++ b/hotspot/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")            \
                                                                             \