Code review request: 6804746: G1: guarantee(variance() > -1.0,"variance should be >= 0") (due to evacuation failure)

Tony Printezis Antonios.Printezis at sun.com
Thu Feb 12 15:42:19 UTC 2009


http://cr.openjdk.java.net/~tonyp/6804746/webrev.00/

Very small G1 fix:

Revert this change:

+     if (!evacuation_failed()) {
        g1_policy()->record_pause_time((end_time_sec - start_time_sec)*1000.0);
+     }

to make sure we correctly set _last_pause_ms, but only update the pause statistics at the end of the pause if the pause didn't have evacuation failure (which was the original intention of the change).

While investigating this failure I also noticed the following:

  update_recent_gc_times(end_sec, full_gc_time_sec);

This is incorrect as update_recent_gc_time() is expecting the second parameter to be in ms:

void G1CollectorPolicy::update_recent_gc_times(double end_time_sec,
                                               double elapsed_ms) {

The fix is straightforward (as full_gc_time_ms is already calculated):

-  update_recent_gc_times(end_sec, full_gc_time_sec);
+  update_recent_gc_times(end_sec, full_gc_time_ms);


-- 
---------------------------------------------------------------------
| Tony Printezis, Staff Engineer   | Sun Microsystems Inc.          |
|                                  | MS UBUR02-311                  |
| e-mail: tony.printezis at sun.com   | 35 Network Drive               |
| office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA |
---------------------------------------------------------------------
e-mail client: Thunderbird (Linux)





More information about the hotspot-gc-dev mailing list