Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
4f56a90
revamp with retained regions added to groups
walulyai Oct 23, 2024
e6b1596
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Nov 5, 2024
834c598
remove MarkingSkipEvents
walulyai Nov 5, 2024
7a01f29
cleanup
walulyai Nov 7, 2024
e92e0be
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Nov 7, 2024
87ee3ba
more cleanups
walulyai Nov 7, 2024
b489c1d
add logging
walulyai Nov 11, 2024
9447a45
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Nov 11, 2024
4aa4d6b
Thomas Review
walulyai Nov 20, 2024
c3d7dda
Update src/hotspot/share/gc/g1/g1CollectionSet.cpp
walulyai Dec 2, 2024
e901227
Update src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp
walulyai Dec 2, 2024
4eec225
Update src/hotspot/share/gc/g1/g1_globals.hpp
walulyai Dec 2, 2024
fbff7d7
Update src/hotspot/share/gc/g1/g1CollectionSet.cpp
walulyai Dec 2, 2024
e687b0c
Albert Review
walulyai Dec 3, 2024
28e92c7
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Dec 4, 2024
65e9b21
Albert Review 2
walulyai Dec 9, 2024
e41c856
Print Group details in G1PrintRegionLivenessInfoClosure
walulyai Dec 11, 2024
f740a8e
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Dec 11, 2024
554b7f5
use reset_table_scanner_for_groups
walulyai Dec 11, 2024
ee59e0b
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Dec 13, 2024
e573b82
Thomas Review
walulyai Dec 13, 2024
633e3a2
assert
walulyai Dec 13, 2024
f0dce79
cleanup
walulyai Dec 13, 2024
ff5e9e0
fix space issues
walulyai Dec 13, 2024
08f5d3f
fix type
walulyai Dec 17, 2024
6194442
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Dec 17, 2024
1a27e5d
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Dec 19, 2024
c4887ed
Albert review
walulyai Dec 19, 2024
6a8039d
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Dec 19, 2024
403aad4
Merge remote-tracking branch 'upstream/master' into OldGenRemsetGroupsV1
walulyai Feb 4, 2025
d50457e
Revise Print Rememberedset info
walulyai Feb 5, 2025
5b43fdb
space
walulyai Feb 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/hotspot/share/gc/g1/g1CardSet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -779,6 +779,15 @@ G1AddCardResult G1CardSet::add_card(uintptr_t card) {
uint card_within_region;
split_card(card, card_region, card_within_region);

#ifdef ASSERT
{
uint region_idx = card_region >> config()->log2_card_regions_per_heap_region();
G1HeapRegion* r = G1CollectedHeap::heap()->region_at(region_idx);
assert(!r->rem_set()->is_added_to_cset_group() ||
r->rem_set()->cset_group()->card_set() != this, "Should not be sharing a cardset");
}
#endif

return add_card(card_region, card_within_region, true /* increment_total */);
}

Expand Down
13 changes: 7 additions & 6 deletions src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1159,8 +1159,7 @@ G1CollectedHeap::G1CollectedHeap() :
_rem_set(nullptr),
_card_set_config(),
_card_set_freelist_pool(G1CardSetConfiguration::num_mem_object_types()),
_young_regions_cardset_mm(card_set_config(), card_set_freelist_pool()),
_young_regions_cardset(card_set_config(), &_young_regions_cardset_mm),
_young_regions_cset_group(card_set_config(), &_card_set_freelist_pool, 1u /* group_id */),
_cm(nullptr),
_cm_thread(nullptr),
_cr(nullptr),
Expand Down Expand Up @@ -2716,7 +2715,7 @@ bool G1CollectedHeap::is_old_gc_alloc_region(G1HeapRegion* hr) {
void G1CollectedHeap::set_region_short_lived_locked(G1HeapRegion* hr) {
_eden.add(hr);
_policy->set_region_eden(hr);
hr->install_group_cardset(young_regions_cardset());
young_regions_cset_group()->add(hr);
}

#ifdef ASSERT
Expand Down Expand Up @@ -2927,7 +2926,7 @@ G1HeapRegion* G1CollectedHeap::new_gc_alloc_region(size_t word_size, G1HeapRegio
_survivor.add(new_alloc_region);
register_new_survivor_region_with_region_attr(new_alloc_region);
// Install the group cardset.
new_alloc_region->install_group_cardset(young_regions_cardset());
young_regions_cset_group()->add(new_alloc_region);
} else {
new_alloc_region->set_old();
}
Expand Down Expand Up @@ -3070,6 +3069,8 @@ void G1CollectedHeap::finish_codecache_marking_cycle() {
CodeCache::arm_all_nmethods();
}

void G1CollectedHeap::prepare_group_cardsets_for_scan () {
_young_regions_cardset.reset_table_scanner_for_groups();
void G1CollectedHeap::prepare_group_cardsets_for_scan() {
young_regions_cardset()->reset_table_scanner_for_groups();

collection_set()->prepare_groups_for_scan();
}
8 changes: 4 additions & 4 deletions src/hotspot/share/gc/g1/g1CollectedHeap.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -781,15 +781,15 @@ class G1CollectedHeap : public CollectedHeap {
G1MonotonicArenaFreePool _card_set_freelist_pool;

// Group cardsets
G1CardSetMemoryManager _young_regions_cardset_mm;
G1CardSet _young_regions_cardset;
G1CSetCandidateGroup _young_regions_cset_group;

public:
G1CardSetConfiguration* card_set_config() { return &_card_set_config; }

G1CardSet* young_regions_cardset() { return &_young_regions_cardset; };
G1CSetCandidateGroup* young_regions_cset_group() { return &_young_regions_cset_group; }
G1CardSet* young_regions_cardset() { return _young_regions_cset_group.card_set(); };

G1CardSetMemoryManager* young_regions_card_set_mm() { return &_young_regions_cardset_mm; }
G1MonotonicArenaMemoryStats young_regions_card_set_memory_stats() { return _young_regions_cset_group.card_set_memory_stats(); }

void prepare_group_cardsets_for_scan();

Expand Down
1 change: 0 additions & 1 deletion src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,6 @@ void G1CollectedHeap::register_region_with_region_attr(G1HeapRegion* r) {
}

void G1CollectedHeap::register_old_region_with_region_attr(G1HeapRegion* r) {
assert(!r->has_pinned_objects(), "must be");
assert(r->rem_set()->is_complete(), "must be");
_region_attr.set_in_old(r->hrm_index(), true);
_rem_set->exclude_region_from_scan(r->hrm_index());
Expand Down
Loading