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.
[~liach] proposed the idea of changing the Unsafe base offset to long, which is a complete solution to the Unsafe offset overflow.
- causes
-
JDK-8349142 [JMH] compiler.MergeLoadBench.getCharBV fails
-
- Resolved
-
- relates to
-
JDK-8349743 [JVMCI] change MetaAccessProvider.getArrayBaseOffset to return long
-
- Closed
-
- links to
-
Commit(master) openjdk/jdk/fdfb68c8
-
Review(master) openjdk/jdk/22095