RFR: 8254167 G1: Record regions where evacuation failed to provide targeted iteration [v4]

Hamlin Li mli at openjdk.java.net
Wed Sep 1 03:18:48 UTC 2021


On Tue, 31 Aug 2021 15:31:03 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

>> Hamlin Li has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>> 
>>  - merge from master
>>  - Fix missing header files
>>  - reuse original bitmap rather than CHT
>>  - merge with existing classes
>>  - Initial commit
>
> src/hotspot/share/gc/g1/g1EvacuationFailureRegions.cpp line 51:
> 
>> 49:                                              HeapRegionClaimer* _hrclaimer,
>> 50:                                              uint worker_id) {
>> 51:   assert_at_safepoint();
> 
> As far as I can see this is a verbatim copy of `G1CollectionSet::iterate_part_from` (with some minor simplifications). Not really happy about that, need to think more about how/if we can avoid this.

Agree. I think the reason is that we have mixed iteration itself with the logic in hrm/cset/evac failure regions.
One option to do might be to extract the iteration logic separately, should we do this in a separate issue?

-------------

PR: https://git.openjdk.java.net/jdk/pull/5272



More information about the hotspot-gc-dev mailing list