< prev index next >

src/share/vm/gc/g1/g1CollectedHeap.cpp

Print this page
rev 13232 : imported patch parallel-fullgc-stefanj
rev 13237 : imported patch 8183226-periodic-rem-set-summary-accesses-uninitialized-stuff
rev 13238 : imported patch 8183226-eridk-sjohanss-review
rev 13240 : imported patch 8183128-cleanup-refinecardtableentryclosure
rev 13241 : imported patch 8183128-erikd-review
rev 13243 : [mq]: 8183121-add-information-about-scanned-skipped-cards-during-updaters


3107             size_t bytes_before = capacity();
3108             // No need for an ergo logging here,
3109             // expansion_amount() does this when it returns a value > 0.
3110             double expand_ms;
3111             if (!expand(expand_bytes, _workers, &expand_ms)) {
3112               // We failed to expand the heap. Cannot do anything about it.
3113             }
3114             g1_policy()->phase_times()->record_expand_heap_time(expand_ms);
3115           }
3116         }
3117 
3118         // We redo the verification but now wrt to the new CSet which
3119         // has just got initialized after the previous CSet was freed.
3120         _cm->verify_no_cset_oops();
3121 
3122         // This timing is only used by the ergonomics to handle our pause target.
3123         // It is unclear why this should not include the full pause. We will
3124         // investigate this in CR 7178365.
3125         double sample_end_time_sec = os::elapsedTime();
3126         double pause_time_ms = (sample_end_time_sec - sample_start_time_sec) * MILLIUNITS;
3127         size_t total_cards_scanned = g1_policy()->phase_times()->sum_thread_work_items(G1GCPhaseTimes::ScanRS, G1GCPhaseTimes::ScannedCards);
3128         g1_policy()->record_collection_pause_end(pause_time_ms, total_cards_scanned, heap_used_bytes_before_gc);
3129 
3130         evacuation_info.set_collectionset_used_before(collection_set()->bytes_used_before());
3131         evacuation_info.set_bytes_copied(g1_policy()->bytes_copied_during_gc());
3132 
3133         if (VerifyRememberedSets) {
3134           log_info(gc, verify)("[Verifying RemSets after GC]");
3135           VerifyRegionRemSetClosure v_cl;
3136           heap_region_iterate(&v_cl);
3137         }
3138 
3139         _verifier->verify_after_gc();
3140         _verifier->check_bitmaps("GC End");
3141 
3142         assert(!ref_processor_stw()->discovery_enabled(), "Postcondition");
3143         ref_processor_stw()->verify_no_references_recorded();
3144 
3145         // CM reference discovery will be re-enabled if necessary.
3146       }
3147 




3107             size_t bytes_before = capacity();
3108             // No need for an ergo logging here,
3109             // expansion_amount() does this when it returns a value > 0.
3110             double expand_ms;
3111             if (!expand(expand_bytes, _workers, &expand_ms)) {
3112               // We failed to expand the heap. Cannot do anything about it.
3113             }
3114             g1_policy()->phase_times()->record_expand_heap_time(expand_ms);
3115           }
3116         }
3117 
3118         // We redo the verification but now wrt to the new CSet which
3119         // has just got initialized after the previous CSet was freed.
3120         _cm->verify_no_cset_oops();
3121 
3122         // This timing is only used by the ergonomics to handle our pause target.
3123         // It is unclear why this should not include the full pause. We will
3124         // investigate this in CR 7178365.
3125         double sample_end_time_sec = os::elapsedTime();
3126         double pause_time_ms = (sample_end_time_sec - sample_start_time_sec) * MILLIUNITS;
3127         size_t total_cards_scanned = g1_policy()->phase_times()->sum_thread_work_items(G1GCPhaseTimes::ScanRS, G1GCPhaseTimes::ScanRSScannedCards);
3128         g1_policy()->record_collection_pause_end(pause_time_ms, total_cards_scanned, heap_used_bytes_before_gc);
3129 
3130         evacuation_info.set_collectionset_used_before(collection_set()->bytes_used_before());
3131         evacuation_info.set_bytes_copied(g1_policy()->bytes_copied_during_gc());
3132 
3133         if (VerifyRememberedSets) {
3134           log_info(gc, verify)("[Verifying RemSets after GC]");
3135           VerifyRegionRemSetClosure v_cl;
3136           heap_region_iterate(&v_cl);
3137         }
3138 
3139         _verifier->verify_after_gc();
3140         _verifier->check_bitmaps("GC End");
3141 
3142         assert(!ref_processor_stw()->discovery_enabled(), "Postcondition");
3143         ref_processor_stw()->verify_no_references_recorded();
3144 
3145         // CM reference discovery will be re-enabled if necessary.
3146       }
3147 


< prev index next >