RFR: Support VerifyBeforeGC and VerifyAfterGC VM options

Aleksey Shipilev shade at redhat.com
Fri Oct 19 22:14:29 UTC 2018


On 10/20/2018 12:06 AM, Aleksey Shipilev wrote:
> On 10/19/2018 07:21 PM, Zhengyu Gu wrote:
>> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/verify_before_after_gc/webrev.00/index.html
> 
> Yeah, well. It is probably the lesser evil to force another safepoint before/after the cycle, rather
> than hunt down all the VMOps.
> 
> Minor nits:
>  *) Move "verify()" declaration to the existing private block in shenandoahControlThread.hpp;
>  *) (mode != none) is actually "gc_requested", you can move the conditions in the existing blocks
> before and after the switch;
>  *) Can we be more symmetrical with other ops, and have ShenandoahHeap::(vm)entry_verify? What would
> also allow us to log the verification event;

Actually, no, wait, screw the whole thing? Look where ShenandoahVerify is called, and put
Verify{Before|After}GC nearby:

VerifyBeforeGC: init-mark, init-traversal, full-gc
VerifyAfterGC:  final-evac, final-update-refs, full-gc

You don't need new VMOps then.

-Aleksey



More information about the shenandoah-dev mailing list