On Wed, 11 Feb 2026 09:24:44 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()`. > > Ioi Lam has updated the pull request with a new target base due to a merge or > a rebase. The pull request now contains 13 commits: > > - Merge branch 'master' into 8377307-refactor-aot-compressed-pointers > - restored assert > - @jdksjolen review comments > - more clean up > - updated filemap to use narrowPtr > - clean up > - Use: enum class narrowPtr : u4; > - step6 > - step5 > - step4 > - ... and 3 more: https://git.openjdk.org/jdk/compare/a87da517...bdb2029d
Looks good to me, thank you! ------------- Marked as reviewed by jsjolen (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/29590#pullrequestreview-3783661070
