RFR: 8344168: Change Unsafe base offset from int to long [v2]
Shaojin Wen
swen at openjdk.org
Fri Nov 22 07:13:17 UTC 2024
On Fri, 15 Nov 2024 01:04:58 GMT, Shaojin Wen <swen at openjdk.org> wrote:
>> The type of the Unsafe base offset constant is int, which may cause overflow when adding int offsets, such as 8343925 (PR #22012). 8343984 (PR #22027) fixes most of the offset overflows in JDK, but ArraysSupport and CRC32C are still unfixed.
>>
>> @liach proposed the idea of changing the Unsafe base offset to long, which is a complete solution to the Unsafe offset overflow. After discussing with @liach, I submitted this PR to implement @liach's idea.
>
> Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:
>
> long BaseAndScale base, from @JornVernee
Explicit conversion to long is not ugly, but it is easy to be overlooked and cause bugs. Experienced JDK Committers can also make mistakes. PR #22027 fixes many problems, which proves this. The improvement of this PR is to avoid this type of mistake.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22095#issuecomment-2493025052
More information about the core-libs-dev
mailing list