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()`.

-------------

Commit messages:
 - more clean up
 - updated filemap to use narrowPtr
 - clean up
 - Use: enum class narrowPtr : u4;
 - step6
 - step5
 - step4
 - step3
 - step2
 - step1

Changes: https://git.openjdk.org/jdk/pull/29590/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29590&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8377307
  Stats: 471 lines in 26 files changed: 234 ins; 96 del; 141 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

Reply via email to