Integrated: 8352437: Support --add-exports with -XX:+AOTClassLinking

Ioi Lam iklam at openjdk.org
Wed Apr 2 01:40:40 UTC 2025


On Thu, 20 Mar 2025 04:46:21 GMT, Ioi Lam <iklam at openjdk.org> wrote:

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

This pull request has now been integrated.

Changeset: 096e70de
Author:    Ioi Lam <iklam at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/096e70de2d3009040d7ce30f3766167f43de4a96
Stats:     580 lines in 15 files changed: 463 ins; 64 del; 53 mod

8352437: Support --add-exports with -XX:+AOTClassLinking

Reviewed-by: matsaave

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

PR: https://git.openjdk.org/jdk/pull/24124


More information about the core-libs-dev mailing list