RFR: 8255019: Shenandoah: Split STW and concurrent mark into separate classes [v27]

Zhengyu Gu zgu at openjdk.java.net
Mon Jan 11 18:26:04 UTC 2021


On Mon, 11 Jan 2021 16:42:30 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 34 commits:
>> 
>>  - Merge branch 'master' into JDK-8255019-sh-mark
>>  - Silent MacOSX build
>>  - @shade's comments
>>  - Merge
>>  - Update copyright years
>>  - Merge
>>  - Merge branch 'master' into JDK-8255019-sh-mark
>>  - Concurrent mark does not expect forwarded objects
>>  - Merge branch 'master' into JDK-8255019-sh-mark
>>  - Merge branch 'master' into JDK-8255019-sh-mark
>>  - ... and 24 more: https://git.openjdk.java.net/jdk/compare/4d3d5991...a6540b99
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 1610:
> 
>> 1608:   // Make above changes visible to worker threads
>> 1609:   OrderAccess::fence();
>> 1610:   ShenandoahConcurrentMark mark;
> 
> Add (or rather, retain), a newline before this statement.

Fixed

> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 251:
> 
>> 249:   }
>> 250: 
>> 251:   _marking_context = new ShenandoahMarkingContext(_heap_region, _bitmap_region, _num_regions, MAX2(_max_workers, 1U));
> 
> So, `MAX2` protects from `_max_workers == 0`? Is that even plausible? If not, it should be an assert inside `ShenandoahMarkingContext` constructor?

Fixed

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

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


More information about the shenandoah-dev mailing list