Skip to content

Commit

Permalink
8300769: Remove G1CollectionSet::_inc_bytes_used_before
Browse files Browse the repository at this point in the history
Reviewed-by: ayang, iwalulya
  • Loading branch information
Thomas Schatzl committed Jan 24, 2023
1 parent 859ca75 commit 3be5758
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 55 deletions.
29 changes: 1 addition & 28 deletions src/hotspot/share/gc/g1/g1CollectionSet.cpp
Expand Up @@ -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() {
Expand Down Expand Up @@ -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);
Expand All @@ -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();
}

Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -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.
Expand Down
22 changes: 0 additions & 22 deletions src/hotspot/share/gc/g1/g1CollectionSet.hpp
Expand Up @@ -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
Expand All @@ -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();

Expand Down Expand Up @@ -273,14 +259,6 @@ class G1CollectionSet {

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);
Expand Down
7 changes: 3 additions & 4 deletions src/hotspot/share/gc/g1/g1Policy.cpp
Expand Up @@ -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();
}

Expand Down Expand Up @@ -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();
Expand Down
1 change: 0 additions & 1 deletion src/hotspot/share/gc/g1/g1YoungCollector.cpp
Expand Up @@ -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();
Expand Down
1 change: 1 addition & 0 deletions src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp
Expand Up @@ -465,6 +465,7 @@ class FreeCSetStats {

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);
Expand Down

1 comment on commit 3be5758

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.