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

Reply via email to