RFR: 8344168: Change Unsafe base offset from int to long
Chen Liang
liach at openjdk.org
Thu Nov 14 13:47:17 UTC 2024
On Thu, 14 Nov 2024 05:32:34 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.
I think you should convert all array index scales to long too. They are susceptible to the same overflow problem (actually more susceptible as they involve in integer multiplications)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22095#issuecomment-2476393412
More information about the core-libs-dev
mailing list