RFR: 8257151: ZGC: Simplify ZVerify

Stefan Karlsson stefank at openjdk.java.net
Thu Nov 26 13:06:00 UTC 2020


On Thu, 26 Nov 2020 13:01:43 GMT, Erik Österlund <eosterlund 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.

Thanks for reviewing!

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

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


More information about the hotspot-gc-dev mailing list