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

Andrew John Hughes andrew at openjdk.org
Wed Sep 20 00:11:47 UTC 2023


On Tue, 19 Sep 2023 17:24:20 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 refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
> 
>   8316278: Fix the indexing method of PtrQueue's buf when a large integer value overflow

Looks like the new test is failing.

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

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


More information about the jdk8u-dev mailing list