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

Reply via email to