RFR: 8344168: Change Unsafe base offset from int to long

Per Minborg pminborg at openjdk.org
Thu Nov 14 10:09:34 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.

While `jdk.internal.misc.Unsafe` is an internal class, it is used in many third-party libraries and applications. It would be interesting to run a _corpus analysis_ on how the proposed changes would impact existing code. I wonder if a CSR would be prudent here despite `Unsafe` being an internal class?

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

PR Comment: https://git.openjdk.org/jdk/pull/22095#issuecomment-2475920098


More information about the core-libs-dev mailing list