[15] RFR 8242643: Shenandoah: split concurrent weak and strong root processing
Aleksey Shipilev
shade at redhat.com
Tue Apr 14 18:10:56 UTC 2020
On 4/14/20 8:00 PM, Zhengyu Gu wrote:
> Let's split concurrent root phase into concurrent weak root and
> concurrent strong root phases.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8242643
> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8242643/webrev.00/index.html
*) shenandoahHeap.cpp: can we label them "Concurrent weak roots" and "Concurrent strong roots"? At
very least drop the underscore. "processing" feels redundant.
2810 static const char* msg = "Concurrent weak_roots processing";
...
2825 static const char* msg = "Concurrent strong roots processing";
*) shenandoahHeap.cpp, excess newline:
2838
2839
*) shenandoahHeap.cpp: I suggest we rename the flags to is_strong_roots_in_progress and
is_weak_roots_in_progress. It would underline they are siblings, not parent-child.
*) shenandoahControlThread.cpp: I thought one of the points was to allow concurrent cleanup to run
right after weak roots? Since strong roots are only updated-evac'ed, they are not need with shortcut
cycles, so we can move them below under heap->is_evacuation_in_progress block?
345 // Processing weak roots
346 heap->entry_weak_roots();
347
348 // Processing strong
349 heap->entry_strong_roots();
350
--
Thanks,
-Aleksey
More information about the hotspot-gc-dev
mailing list