> 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 ------------- Changes: https://git.openjdk.org/jdk/pull/29590/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29590&range=02 Stats: 440 lines in 26 files changed: 205 ins; 96 del; 139 mod Patch: https://git.openjdk.org/jdk/pull/29590.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29590/head:pull/29590 PR: https://git.openjdk.org/jdk/pull/29590
