RFR: Support VerifyBeforeGC and VerifyAfterGC VM options

Zhengyu Gu zgu at redhat.com
Fri Oct 19 22:59:26 UTC 2018


On 10/19/2018 06:14 PM, Aleksey Shipilev wrote:
> 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

Yes. That's what exactly I were doing last past hour.

But why final-evac? I think should be final-mark.

Webrev: 
http://cr.openjdk.java.net/~zgu/shenandoah/verify_before_after_gc/webrev.01/index.html

Test in progress.

Thanks,

-Zhengyu





> 
> You don't need new VMOps then.
> 
> -Aleksey
> 


More information about the shenandoah-dev mailing list