RFR: 8261473: Shenandoah: Add breakpoint suppoprt [v2]
Aleksey Shipilev
shade at openjdk.java.net
Thu Feb 18 13:23:40 UTC 2021
On Wed, 10 Feb 2021 20:13:52 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>> Please review this patch that adds breakpoint support for Shenandoah, that allows Shenandoah to access a few tests:
>>
>> gc/TestConcurrentGCBreakpoints.java
>> gc/TestJNIWeak/TestJNIWeak.java
>> gc/TestReferenceClearDuringMarking.java
>> gc/TestReferenceClearDuringReferenceProcessing.java
>> gc/TestReferenceRefersTo.java
>>
>> The drawback is that above tests can not run with passive mode, which can result tests to hang, as breakpoints only apply to concurrent GC.
>>
>> Test:
>> - [x] hotspot_gc_shenandoah
>> - [x] tier1 with Shenandoah
>
> Zhengyu Gu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:
>
> - Merge
> - update
> - init update
Looks fine, minor nits.
src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 52:
> 50:
> 51: // Breakpoint support
> 52: class ShenandoahConcurrentGCScope : public StackObj {
Let's call these `ShenandoahGCBreakpointScope` and `ShenandoahMarkBreakpointScope`?
src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 476:
> 474: bool ShenandoahControlThread::is_async_gc(GCCause::Cause cause) const {
> 475: return cause == GCCause::_wb_breakpoint;
> 476: }
Do we really need this method? What is "async gc" anyway? I think you can just inline the method at its only use.
-------------
Marked as reviewed by shade (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/2489
More information about the hotspot-gc-dev
mailing list