On Thu, 5 Feb 2026 17:22:08 GMT, Ioi Lam <[email protected]> wrote: > AOT cache uses pointer compression to store 64-bit pointers in 32 bits. > Currently the compression algorithm is simply (base + narrowPtr). However, in > [JDK-8376125](https://bugs.openjdk.org/browse/JDK-8376125), we may change it > to (base + narrowPtr << 3). > > This RFE changed the encoded pointer from an u4 to (thanks to @jdksjolen for > the idea): > > > enum class narrowPtr : u4; > > > This allows better tracking of where the encoded pointers are stored. Also, > we can distinguish between byte offsets vs encoded pointers -- they currently > have the same numerical values but after > [JDK-8376125](https://bugs.openjdk.org/browse/JDK-8376125), they will be > different. > > Also minor clean up in ArchiveBuilder to change some `uintx` to `size_t`, > which is used by `pointer_delta()`.
Thank you @iklam! The update looks good to me. But I am not a hotspot reviewer. ------------- Marked as reviewed by xuelei (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/29590#pullrequestreview-3761662240
