RFR: 8256298: Shenandoah: Enable concurrent stack processing [v3]
Roman Kennke
rkennke at openjdk.java.net
Mon Jan 25 14:27:44 UTC 2021
On Mon, 25 Jan 2021 13:33:06 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>> Please review this patch that enables concurrent stack processing for Shenandoah GC.
>>
>> After this patch, all root processing is done concurrently for concurrent GC.
>>
>> Test:
>> - [x] hotspot_gc_shenandoah Linux x86_64 and x86_32
>> - [x] Nightly
>> - [x] tier1 with -XX:+UseShenandoahGC on Linux x86_32
>
> Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:
>
> Roman's comments
Better, thanks! Found a few more very minor complaints (sorry... ;-) )
src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.cpp line 3:
> 1: /*
> 2: * Copyright (c) 2021, Red Hat, Inc. All rights reserved.
> 3: * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
Small nit: the original copyright in the corresponding z* files is dated 2020. Please preserve that. Leave the Red Hat copyright at 2021. Sorry.
src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.hpp line 45:
> 43: BarrierSetNMethod* _bs_nm;
> 44:
> 45: virtual void do_code_blob(CodeBlob* cb);
There is no need to mark this virtual, or is there? I see you put override in the other place in that change, so maybe put it here too?
src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.hpp line 68:
> 66: OopClosure* closure_from_context(void* context);
> 67: virtual uint32_t epoch_id() const;
> 68: virtual void start_processing_impl(void* context);
Also, similar to the other case, we might avoid virtual here, and use override instead?
-------------
Changes requested by rkennke (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/2185
More information about the shenandoah-dev
mailing list