RFR: 8257151: ZGC: Simplify ZVerify

Erik Österlund eosterlund at openjdk.java.net
Thu Nov 26 13:05:59 UTC 2020


On Thu, 26 Nov 2020 11:16:05 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

> ZVerify has a few oddities:
> 
> 1) The comment and the parameter name don't match. 
> void ZVerify::before_zoperation() {
>   // Verify strong roots
>   ZStatTimerDisable disable;
>   roots(false /* verify_strong */, false /* verify_weaks */);
> }
> This is caused by a name clash between the layers:
> 
> roots_strong(bool verify_fixed
> roots(bool verify_strong
> roots_and_objects(bool verify_strong
> 
> 2) Both usages of roots_and_objects pass true as the verify_strong argument:
> 
> void ZVerify::after_mark() {
>   // Verify all strong roots and strong references
>   ZStatTimerDisable disable;
>   roots_and_objects(true /* verify_strong */, false /* verify_weaks */);
> }
> 
> void ZVerify::after_weak_processing() {
>   // Verify all roots and all references
>   ZStatTimerDisable disable;
>   roots_and_objects(true /* verify_strong */, true /* verify_weaks */);
> }
> 
> The proposal is to remove the middle layers and be more explicit at the call sites.

Looks good.

-------------

Marked as reviewed by eosterlund (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1449


More information about the hotspot-gc-dev mailing list