RFR: 8255019: Shenandoah: Split STW and concurrent mark into separate classes [v24]
Zhengyu Gu
zgu at openjdk.java.net
Mon Jan 11 13:54:08 UTC 2021
On Tue, 5 Jan 2021 13:49:12 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 31 commits:
>>
>> - 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
>> - Silent valgrind on potential memory leak
>> - Merge branch 'master' into JDK-8255019-sh-mark
>> - Removed ShenandoahConcurrentMark parameter from concurrent GC entry/op, etc.
>> - ... and 21 more: https://git.openjdk.java.net/jdk/compare/a6c08813...b7390c08
>
> src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp line 161:
>
>> 159: // threads, and performance-wise it doesn't really matter. Adds about 1ms to
>> 160: // full-gc.
>> 161: {
>
> This seems to revert JDK-8258490?
No. After splitting, full-gc never gets here.
> src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp line 168:
>
>> 166: while (satb_mq_set.apply_closure_to_completed_buffer(&cl));
>> 167: bool do_nmethods = heap->unload_classes() && !ShenandoahConcurrentRoots::can_do_concurrent_class_unloading();
>> 168: assert(!heap->has_forwarded_objects(), "Not expected");
>
> Do you need to move this assert?
No, fixed.
> src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp line 335:
>
>> 333: ShenandoahReferenceProcessor* rp = _heap->ref_processor();
>> 334: task_queues()->reserve(workers->active_workers());
>> 335: ShenandoahMarkConcurrentRootsTask task(task_queues(), rp, ShenandoahPhaseTimings::conc_mark_roots, workers->active_workers());
>
> Excess space: `rp, ShenandoahPhaseTimings`.
Fixed
> src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp line 249:
>
>> 247: rp->set_soft_reference_policy(true); // forcefully purge all soft references
>> 248:
>> 249:
>
> Excess newline?
Fixed
> src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2019, 2019, Red Hat, Inc. All rights reserved.
>
> Odd change: 2020 -> 2019.
Another merge error. Fixed.
> src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp line 96:
>
>> 94: TASKQUEUE_STATS_ONLY(task_queues()->print_taskqueue_stats());
>> 95: TASKQUEUE_STATS_ONLY(task_queues()->reset_taskqueue_stats());
>> 96:
>
> Excess newline
Fixed
-------------
PR: https://git.openjdk.java.net/jdk/pull/1009
More information about the shenandoah-dev
mailing list