On Mon, 26 Oct 2026 06:34:56 GMT, Alan Bateman <[email protected]> wrote:
> Module$ReflectionData stores the additions to readability, exports/opens and > service use when the reflective APIs are used at runtime. Unfortunately a > short cut in JDK 9 means it is also being used for the --add-reads command > line option and the special read edge to allow automatic modules read all > unnamed modules. Not an issue until an AOT cache is created with an automatic > module or with the--add-reads CLI option. As the ReflectionData is not in the > AOT cache then the production run will have an incomplete module graph. > > The changes proposed means that ReflectionData is added added to creating an > automatic module when when handling the --add-reads CLI option. Any runtime > uses of Module.addReads will add to RD as before. > > A new test it added to ensure that ReflectionData is "empty" at startup. Ioi > has contributed a new test to runtime/cds/appcds/aotCache/ that creates an > AOT cache with an automatic module and checks that the expected readability > is present in the production run. > > Testing: tier1-3 > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). This pull request has now been integrated. Changeset: 6dbb8fed Author: Alan Bateman <[email protected]> URL: https://git.openjdk.org/jdk/commit/6dbb8fedaba755f6a53cdcb834abaf2f807f6ae4 Stats: 515 lines in 12 files changed: 482 ins; 5 del; 28 mod 8393235: Module$ReflectionData.reads is missing from AOT cache Co-authored-by: Ioi Lam <[email protected]> Reviewed-by: iklam, liach ------------- PR: https://git.openjdk.org/jdk/pull/33559
