RFR: 8254167 G1: Record regions where evacuation failed to provide targeted iteration [v4]
Thomas Schatzl
tschatzl at openjdk.java.net
Thu Sep 2 08:14:31 UTC 2021
On Wed, 1 Sep 2021 03:15:42 GMT, Hamlin Li <mli at openjdk.org> wrote:
>> 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?
Either that, or provide a data structure that encapsulates an array that items can be atomically added to including the iteration.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5272
More information about the hotspot-gc-dev
mailing list