Integrated: 8257151: ZGC: Simplify ZVerify

Stefan Karlsson stefank at openjdk.java.net
Thu Nov 26 13:06:02 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.

This pull request has now been integrated.

Changeset: 0a5de500
Author:    Stefan Karlsson <stefank at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/0a5de500
Stats:     47 lines in 2 files changed: 16 ins; 18 del; 13 mod

8257151: ZGC: Simplify ZVerify

Reviewed-by: pliden, eosterlund

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

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



More information about the hotspot-gc-dev mailing list