Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 595:3698e8f47799
6804746: G1: guarantee(variance() > -1.0,"variance should be >= 0") (due to evacuation failure)
Summary: Under certain circumstances (evacuation failure) the pause time is not communicated to the policy and, as a result, the pause time field is not initialized properly.
Reviewed-by: jmasa
author | tonyp |
---|---|
date | Tue, 24 Feb 2009 15:50:23 -0500 |
parents | 05c6d52fa7a9 |
children | d8c7fa77a6dc 4f360ec815ba |
comparison
equal
deleted
inserted
replaced
582:a0576ae7045f | 595:3698e8f47799 |
---|---|
2624 #if SCAN_ONLY_VERBOSE | 2624 #if SCAN_ONLY_VERBOSE |
2625 _young_list->print(); | 2625 _young_list->print(); |
2626 #endif // SCAN_ONLY_VERBOSE | 2626 #endif // SCAN_ONLY_VERBOSE |
2627 | 2627 |
2628 double end_time_sec = os::elapsedTime(); | 2628 double end_time_sec = os::elapsedTime(); |
2629 if (!evacuation_failed()) { | 2629 double pause_time_ms = (end_time_sec - start_time_sec) * MILLIUNITS; |
2630 g1_policy()->record_pause_time((end_time_sec - start_time_sec)*1000.0); | 2630 g1_policy()->record_pause_time_ms(pause_time_ms); |
2631 } | |
2632 GCOverheadReporter::recordSTWEnd(end_time_sec); | 2631 GCOverheadReporter::recordSTWEnd(end_time_sec); |
2633 g1_policy()->record_collection_pause_end(popular_region != NULL, | 2632 g1_policy()->record_collection_pause_end(popular_region != NULL, |
2634 abandoned); | 2633 abandoned); |
2635 | 2634 |
2636 assert(regions_accounted_for(), "Region leakage."); | 2635 assert(regions_accounted_for(), "Region leakage."); |