--- old/src/hotspot/share/gc/g1/g1CollectedHeap.hpp 2019-03-04 12:03:57.031698217 +0100 +++ new/src/hotspot/share/gc/g1/g1CollectedHeap.hpp 2019-03-04 12:03:56.915697630 +0100 @@ -357,6 +357,8 @@ assert(Thread::current()->is_VM_thread(), "current thread is not VM thread"); \ } while (0) + const char* young_gc_name() const; + // The young region list. G1EdenRegions _eden; G1SurvivorRegions _survivor; @@ -730,14 +732,21 @@ // to the GC locker being active, true otherwise bool do_collection_pause_at_safepoint(double target_pause_time_ms); + G1HeapVerifier::G1VerifyType young_collection_verify_type() const; + void verify_before_young_collection(G1HeapVerifier::G1VerifyType type); + void verify_after_young_collection(G1HeapVerifier::G1VerifyType type); + + void calculate_collection_set(G1EvacuationInfo& evacuation_info, double target_pause_time_ms); + // Actually do the work of evacuating the collection set. void evacuate_collection_set(G1ParScanThreadStateSet* per_thread_states); void evacuate_optional_collection_set(G1ParScanThreadStateSet* per_thread_states); void evacuate_optional_regions(G1ParScanThreadStateSet* per_thread_states, G1OptionalCSet* ocset); - void pre_evacuate_collection_set(); + void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info); void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); + void expand_heap_after_young_collection(); // Update object copying statistics. void record_obj_copy_mem_stats();