src/hotspot/share/gc/g1/g1CollectionSet.cpp
changeset 59319 9ee940f1de90
parent 59290 97d13893ec3c
child 59321 5775e4825e58
equal deleted inserted replaced
59318:70021dbed82b 59319:9ee940f1de90
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "gc/g1/g1CollectedHeap.inline.hpp"
    26 #include "gc/g1/g1CollectedHeap.inline.hpp"
    27 #include "gc/g1/g1CollectionSet.hpp"
    27 #include "gc/g1/g1CollectionSet.hpp"
    28 #include "gc/g1/g1CollectionSetCandidates.hpp"
    28 #include "gc/g1/g1CollectionSetCandidates.hpp"
    29 #include "gc/g1/g1CollectorState.hpp"
    29 #include "gc/g1/g1CollectorState.hpp"
       
    30 #include "gc/g1/g1HotCardCache.hpp"
    30 #include "gc/g1/g1ParScanThreadState.hpp"
    31 #include "gc/g1/g1ParScanThreadState.hpp"
    31 #include "gc/g1/g1Policy.hpp"
    32 #include "gc/g1/g1Policy.hpp"
    32 #include "gc/g1/heapRegion.inline.hpp"
    33 #include "gc/g1/heapRegion.inline.hpp"
    33 #include "gc/g1/heapRegionRemSet.hpp"
    34 #include "gc/g1/heapRegionRemSet.hpp"
    34 #include "gc/g1/heapRegionSet.hpp"
    35 #include "gc/g1/heapRegionSet.hpp"
   408   finalize_incremental_building();
   409   finalize_incremental_building();
   409 
   410 
   410   guarantee(target_pause_time_ms > 0.0,
   411   guarantee(target_pause_time_ms > 0.0,
   411             "target_pause_time_ms = %1.6lf should be positive", target_pause_time_ms);
   412             "target_pause_time_ms = %1.6lf should be positive", target_pause_time_ms);
   412 
   413 
   413   size_t pending_cards = _policy->pending_cards_at_gc_start();
   414   size_t pending_cards = _policy->pending_cards_at_gc_start() + _g1h->hot_card_cache()->num_entries();
   414   double base_time_ms = _policy->predict_base_elapsed_time_ms(pending_cards);
   415   double base_time_ms = _policy->predict_base_elapsed_time_ms(pending_cards);
   415   double time_remaining_ms = MAX2(target_pause_time_ms - base_time_ms, 0.0);
   416   double time_remaining_ms = MAX2(target_pause_time_ms - base_time_ms, 0.0);
   416 
   417 
   417   log_trace(gc, ergo, cset)("Start choosing CSet. pending cards: " SIZE_FORMAT " predicted base time: %1.2fms remaining time: %1.2fms target pause time: %1.2fms",
   418   log_trace(gc, ergo, cset)("Start choosing CSet. pending cards: " SIZE_FORMAT " predicted base time: %1.2fms remaining time: %1.2fms target pause time: %1.2fms",
   418                             pending_cards, base_time_ms, time_remaining_ms, target_pause_time_ms);
   419                             pending_cards, base_time_ms, time_remaining_ms, target_pause_time_ms);