mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-21 05:13:11 +00:00
8300769: Remove G1CollectionSet::_inc_bytes_used_before
Reviewed-by: ayang, iwalulya
This commit is contained in:
parent
859ca75b4c
commit
3be5758bb4
@ -59,10 +59,8 @@ G1CollectionSet::G1CollectionSet(G1CollectedHeap* g1h, G1Policy* policy) :
|
||||
_collection_set_cur_length(0),
|
||||
_collection_set_max_length(0),
|
||||
_num_optional_regions(0),
|
||||
_bytes_used_before(0),
|
||||
_inc_build_state(Inactive),
|
||||
_inc_part_start(0),
|
||||
_inc_bytes_used_before(0) {
|
||||
_inc_part_start(0) {
|
||||
}
|
||||
|
||||
G1CollectionSet::~G1CollectionSet() {
|
||||
@ -114,7 +112,6 @@ void G1CollectionSet::add_old_region(HeapRegion* hr) {
|
||||
assert(_collection_set_cur_length < _collection_set_max_length, "Collection set now larger than maximum size.");
|
||||
_collection_set_regions[_collection_set_cur_length++] = hr->hrm_index();
|
||||
|
||||
_bytes_used_before += hr->used();
|
||||
_old_region_length++;
|
||||
|
||||
_g1h->old_set_remove(hr);
|
||||
@ -133,8 +130,6 @@ void G1CollectionSet::start_incremental_building() {
|
||||
assert(_collection_set_cur_length == 0, "Collection set must be empty before starting a new collection set.");
|
||||
assert(_inc_build_state == Inactive, "Precondition");
|
||||
|
||||
_inc_bytes_used_before = 0;
|
||||
|
||||
update_incremental_marker();
|
||||
}
|
||||
|
||||
@ -200,26 +195,6 @@ void G1CollectionSet::add_young_region_common(HeapRegion* hr) {
|
||||
assert(hr->is_young(), "invariant");
|
||||
assert(_inc_build_state == Active, "Precondition");
|
||||
|
||||
// This routine is used when:
|
||||
// * adding survivor regions to the incremental cset at the end of an
|
||||
// evacuation pause or
|
||||
// * adding the current allocation region to the incremental cset
|
||||
// when it is retired.
|
||||
// Therefore this routine may be called at a safepoint by the
|
||||
// VM thread, or in-between safepoints by mutator threads (when
|
||||
// retiring the current allocation region)
|
||||
// We need to clear and set the cached recorded/cached collection set
|
||||
// information in the heap region here (before the region gets added
|
||||
// to the collection set). An individual heap region's cached values
|
||||
// are calculated, aggregated with the policy collection set info,
|
||||
// and cached in the heap region here (initially) and (subsequently)
|
||||
// by the Young List sampling code.
|
||||
// Ignore calls to this due to retirement during full gc.
|
||||
|
||||
if (!_g1h->collector_state()->in_full_gc()) {
|
||||
_inc_bytes_used_before += hr->used();
|
||||
}
|
||||
|
||||
assert(!hr->in_collection_set(), "invariant");
|
||||
_g1h->register_young_region_with_region_attr(hr);
|
||||
|
||||
@ -334,8 +309,6 @@ double G1CollectionSet::finalize_young_part(double target_pause_time_ms, G1Survi
|
||||
|
||||
verify_young_cset_indices();
|
||||
|
||||
_bytes_used_before = _inc_bytes_used_before;
|
||||
|
||||
double predicted_base_time_ms = _policy->predict_base_time_ms(pending_cards);
|
||||
// Base time already includes the whole remembered set related time, so do not add that here
|
||||
// again.
|
||||
|
||||
@ -156,11 +156,6 @@ class G1CollectionSet {
|
||||
// correspond to the first x entries in the collection set candidates.
|
||||
uint _num_optional_regions;
|
||||
|
||||
// The number of bytes in the collection set before the pause. Set from
|
||||
// the incrementally built collection set at the start of an evacuation
|
||||
// pause, and updated as more regions are added to the collection set.
|
||||
size_t _bytes_used_before;
|
||||
|
||||
enum CSetBuildType {
|
||||
Active, // We are actively building the collection set
|
||||
Inactive // We are not actively building the collection set
|
||||
@ -169,15 +164,6 @@ class G1CollectionSet {
|
||||
CSetBuildType _inc_build_state;
|
||||
size_t _inc_part_start;
|
||||
|
||||
// The associated information that is maintained while the incremental
|
||||
// collection set is being built with *young* regions. Used to populate
|
||||
// the recorded info for the evacuation pause.
|
||||
|
||||
// The number of bytes in the incrementally built collection set.
|
||||
// Used to set _collection_set_bytes_used_before at the start of
|
||||
// an evacuation pause.
|
||||
size_t _inc_bytes_used_before;
|
||||
|
||||
G1CollectorState* collector_state() const;
|
||||
G1GCPhaseTimes* phase_times();
|
||||
|
||||
@ -273,14 +259,6 @@ public:
|
||||
|
||||
void iterate_optional(HeapRegionClosure* cl) const;
|
||||
|
||||
size_t bytes_used_before() const {
|
||||
return _bytes_used_before;
|
||||
}
|
||||
|
||||
void reset_bytes_used_before() {
|
||||
_bytes_used_before = 0;
|
||||
}
|
||||
|
||||
// Finalize the initial collection set consisting of all young regions potentially a
|
||||
// few old gen regions.
|
||||
void finalize_initial_collection_set(double target_pause_time_ms, G1SurvivorRegions* survivor);
|
||||
|
||||
@ -103,8 +103,9 @@ void G1Policy::init(G1CollectedHeap* g1h, G1CollectionSet* collection_set) {
|
||||
_free_regions_at_end_of_collection = _g1h->num_free_regions();
|
||||
|
||||
update_young_length_bounds();
|
||||
// We may immediately start allocating regions and placing them on the
|
||||
// collection set list. Initialize the per-collection set info
|
||||
|
||||
// We immediately start allocating regions placing them in the collection set.
|
||||
// Initialize the collection set info.
|
||||
_collection_set->start_incremental_building();
|
||||
}
|
||||
|
||||
@ -638,8 +639,6 @@ void G1Policy::record_young_collection_start() {
|
||||
|
||||
phase_times()->record_cur_collection_start_sec(now.seconds());
|
||||
|
||||
_collection_set->reset_bytes_used_before();
|
||||
|
||||
// do that for any other surv rate groups
|
||||
_eden_surv_rate_group->stop_adding_regions();
|
||||
_survivors_age_table.clear();
|
||||
|
||||
@ -1020,7 +1020,6 @@ void G1YoungCollector::post_evacuate_collection_set(G1EvacInfo* evacuation_info,
|
||||
|
||||
_g1h->record_obj_copy_mem_stats();
|
||||
|
||||
evacuation_info->set_collection_set_used_before(collection_set()->bytes_used_before());
|
||||
evacuation_info->set_bytes_used(_g1h->bytes_used_during_gc());
|
||||
|
||||
_g1h->start_new_collection_set();
|
||||
|
||||
@ -465,6 +465,7 @@ public:
|
||||
|
||||
void report(G1CollectedHeap* g1h, G1EvacInfo* evacuation_info) {
|
||||
evacuation_info->set_regions_freed(_regions_freed);
|
||||
evacuation_info->set_collection_set_used_before(_before_used_bytes + _after_used_bytes);
|
||||
evacuation_info->increment_collection_set_used_after(_after_used_bytes);
|
||||
|
||||
g1h->decrement_summary_bytes(_before_used_bytes);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user