[jdk8u-dev] RFR: 6899049: G1: Clean up code in ptrQueue.[ch]pp and ptrQueue.inline.hpp [v5]

Paul Hohensee phh at openjdk.org
Tue Nov 7 19:05:01 UTC 2023


On Sun, 5 Nov 2023 07:04:29 GMT, Sun Jianye <jianyesun at openjdk.org> wrote:

>> Hi all,
>> 
>> This pull request contains a backport of commit [b256989eb34a32c8f03be448c0645baeb5192a01](https://github.com/openjdk/jdk11u-dev/commit/b256989eb34a32c8f03be448c0645baeb5192a01) from the [openjdk/jdk11u-dev](https://github.com/openjdk/jdk11u-dev) repository.
>> 
>> As reported by issue :  https://bugs.openjdk.org/browse/JDK-8316278 .  We found  the indexing method of PtrQueue's buf  is not  correct  when  converting an integer of type size_t to type int, then calling the method PtrQueue::byte_index_to_index . 
>> The key problem is this way of using: 
>> 
>> size_t i=0;    _buf[byte_index_to_index((int)i)] = NULL;  
>> 
>> The variable i of size_t type  cannot be converted directly to an int type . Other than that, the return value of the function byte_index_to_index is the index of the array _buf, and it should be non-negative. So it  should be a type of size_t. 
>> Currently we have found 2 issues related to this problem,  https://bugs.openjdk.org/browse/JDK-8308169 and  https://bugs.openjdk.org/browse/JDK-8303961.  They are all triggered by a special  size number of buf, like '-XX:G1UpdateBufferSize=512M'  or  '-XX:G1SATBBufferSize=500m'
>> We also added a test case.
>> Please review this PR. Thanks.
>
> Sun Jianye has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fix white space mismatch

linux-x86 looks to have a couple of tier1 test failures. The windows-x64 failure looks like an infrastructure issue.

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

PR Comment: https://git.openjdk.org/jdk8u-dev/pull/374#issuecomment-1799575812


More information about the jdk8u-dev mailing list