RFR: Rehash VMOperations and cycle driver mechanics for consistency"

Roman Kennke rkennke at redhat.com
Thu Dec 14 21:24:56 UTC 2017


Am 14.12.2017 um 17:36 schrieb Aleksey Shipilev:
> http://cr.openjdk.java.net/~shade/shenandoah/operations-cleanup/webrev.01/
> 
> This is the preparation cleanup for Degenerate GC. The changes in this webrev are not about
> functionality, but about harmonizing the code for future changes.
> 
> Brief tour:
> 
>   a) Three groups of methods are now in ShenandoahHeap: entry-points with the safepoint, entry-points
> without the safepoints, and private group that does the actual operations.
> 
>   b) vmop_entry_* do all the needed setup, including capturing the gross GC times (In future, we may
> report both gross and net times there, to capture these in GC logs!). These entry-points would
> initiate the safepoint and call into entry_* methods. VM_Shenandoah* operations are now the simple
> trampolines back to entry_*.
> 
>   c) entry_* do all the rest of needed setup (assuming safepoint or not), including figuring out the
> worker counts, recording net times, and calling into op_* methods.
> 
>   d) op_* is where we do the actual thing for each phase. (Spoiler alert: Degenerate GC would just
> call op_* methods in correct order, entering via single VMOp)
> 
>   e) Minor corrections in GCMark and stats for Full GC code
> 
>   f) Minor typo changes
> 
> Testing: hotspot_gc_shenandoah {fastdebug|release}
> 
> Thanks,
> -Aleksey


Yes, this seems cleaner and more consistent. Thanks!

Roman


More information about the shenandoah-dev mailing list