RFR: Allow young collection to suspend marking in old generation [v3]

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Wed Feb 24 01:26:30 UTC 2021


On Wed, 24 Feb 2021 00:48:10 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> earthling-amzn has updated the pull request incrementally with five additional commits since the last revision:
>> 
>>  - Remove superfluous new line
>>  - Remove redundant is_oop check
>>  - Remove unused parameter, remove unnecessary casting
>>  - Remove debug scaffolding, inline object aging
>>  - Do not allow heuristics to change requested gc cause once a mutator request has been made
>
> src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 243:
> 
>> 241:   ShenandoahRegionIterator regions;
>> 242:   ShenandoahScanRememberedTask task(task_queues(), old_gen_task_queues(), rp, &regions);
>> 243:   heap->safepoint_workers()->run_task(&task);
> 
> This looks wrong! it does not match nworkers in reserve_task_queue() call, should use heap->workers() instead?

Yep, that's wrong. We used to have this code in init mark, which was removed upstream. I fumbled the integration. Should point out that we are scanning the remembered set on a safepoint, but we have work in progress to make this concurrent as well.

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

PR: https://git.openjdk.java.net/shenandoah/pull/19


More information about the shenandoah-dev mailing list