RFR: 8276887: G1: Move precleaning to Concurrent Mark From Roots subphase [v3]

Albert Mingkun Yang ayang at openjdk.java.net
Sun Nov 14 23:08:14 UTC 2021


On Sun, 14 Nov 2021 22:32:00 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

>> It's still correct because `preclean_discovered_reflist` checkes for if-aborted while iterating the list. I could have written sth like the following if you think prompt abort is important.
>> 
>> 
>>   bool is_aborted = preclean_discovered_reflist(...);
>>   if (is_aborted) {
>>     return;
>>   }
>
> It's hard to know for sure, but the description of YieldClosure makes me think that's not really the intended usage.  OTOH, this seems to be the only use of YieldClosure; maybe there were others in CMS?  I would prefer the `yield->should_return()` checks be retained.  Also, `preclean_discovered_reflist` might no longer need to return bool.

Restored `yield->should_return()`.

> one might be interested in any of the totals/min/max/avg

Thomas suggested this as well. I will address this in a followup PR.

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

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


More information about the hotspot-gc-dev mailing list