RFR: 8352437: -XX:+AOTClassLinking is not compatible with --add-export
    Ioi Lam 
    iklam at openjdk.org
       
    Thu Mar 20 04:54:01 UTC 2025
    
    
  
`-XX:+AOTClassLinking` requires the CDS archived full module graph (FMG).
- Before this PR, when  `--add-export` is specified,  FMG is disabled, so AOT caches created with `-XX:+AOTClassLinking` cannot be loaded.
- After this PR, if the exact same `--add-export` flags as specified across the training/assembly/production phases, the FMG can be used, so we can use so AOT caches created with `-XX:+AOTClassLinking`.
The change itself is straight-forward: just remember the `--add-export` flags specified during AOT cache creation, and check the exact same ones are used during the production run.
I did a fair amount of refactoring to change the "exact options specified" checks in modules.cpp, so more such options can be easily added in the future (we need to handle `--add-reads` and `--add-opens` in future RFEs).
(Note: this PR depends on #24122 )
-------------
Depends on: https://git.openjdk.org/jdk/pull/24122
Commit messages:
 - Fixed whitespaces
 - clean up
 - 8352437: -XX:+AOTClassLinking is not compatible with --add-export
Changes: https://git.openjdk.org/jdk/pull/24124/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24124&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352437
  Stats: 575 lines in 16 files changed: 457 ins; 65 del; 53 mod
  Patch: https://git.openjdk.org/jdk/pull/24124.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24124/head:pull/24124
PR: https://git.openjdk.org/jdk/pull/24124
    
    
More information about the hotspot-dev
mailing list