[jdk8u-dev] RFR: 6899049: G1: Clean up code in ptrQueue.[ch]pp and ptrQueue.inline.hpp [v3]
Sun Jianye
jianyesun at openjdk.org
Thu Sep 21 14:13:01 UTC 2023
> 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:
delete the test
-------------
Changes:
- all: https://git.openjdk.org/jdk8u-dev/pull/374/files
- new: https://git.openjdk.org/jdk8u-dev/pull/374/files/584e5ee1..0ee3da36
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk8u-dev&pr=374&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk8u-dev&pr=374&range=01-02
Stats: 58 lines in 1 file changed: 0 ins; 58 del; 0 mod
Patch: https://git.openjdk.org/jdk8u-dev/pull/374.diff
Fetch: git fetch https://git.openjdk.org/jdk8u-dev.git pull/374/head:pull/374
PR: https://git.openjdk.org/jdk8u-dev/pull/374
More information about the jdk8u-dev
mailing list