--- old/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp 2019-02-15 19:02:25.147262747 +0300 +++ new/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp 2019-02-15 19:02:25.055265965 +0300 @@ -839,11 +839,11 @@ _stop_world_start = os::elapsedTime(); } -void G1CollectorPolicy::record_collection_pause_start(double start_time_sec) { +void G1CollectorPolicy::record_collection_pause_start(double start_time_sec, GCTracer &tracer) { // We only need to do this here as the policy will only be applied // to the GC we're about to start. so, no point is calculating this // every time we calculate / recalculate the target young length. - update_survivors_policy(); + update_survivors_policy(tracer); assert(_g1->used() == _g1->recalculate_used(), err_msg("sanity, used: " SIZE_FORMAT " recalculate_used: " SIZE_FORMAT, @@ -1453,7 +1453,7 @@ } // Calculates survivor space parameters. -void G1CollectorPolicy::update_survivors_policy() { +void G1CollectorPolicy::update_survivors_policy(GCTracer &tracer) { double max_survivor_regions_d = (double) _young_list_target_length / (double) SurvivorRatio; // We use ceiling so that if max_survivor_regions_d is > 0.0 (but @@ -1461,7 +1461,7 @@ _max_survivor_regions = (uint) ceil(max_survivor_regions_d); _tenuring_threshold = _survivors_age_table.compute_tenuring_threshold( - HeapRegion::GrainWords * _max_survivor_regions); + HeapRegion::GrainWords * _max_survivor_regions, tracer); } bool G1CollectorPolicy::force_initial_mark_if_outside_cycle(