RFR: 8346778: Enable native access should work with the source launcher [v2]

Alan Bateman alanb at openjdk.org
Fri Jan 10 11:13:48 UTC 2025


On Wed, 8 Jan 2025 20:29:03 GMT, Christian Stein <cstein at openjdk.org> wrote:

>> Please review this change request enabling native access in source launch mode when using a modular setup.
>> 
>> The change comes in two parts:
>> 1. Prevent warnings of unknown modules being emitted from module bootstrap for user module not being present in the boot layer: `java.c` and `ModuleBootstrap.java`
>> 2. Enable native access in source module(s) and also user modules on the module path as requested by `--enable-native-access` via the `ModuleLayer.Controller` API - and emit warning for unknown modules: `MemoryContext.java`
>> 
>> _Testing of tier1..3 is in progress..._
>
> Christian Stein has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Ignore already handled `ALL-UNNAMED` name

src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java line 838:

> 836:      * command line option, and also to JDK modules that need the access.
> 837:      * <p>
> 838:      * In case of being in "source" launchmode, warnings about unknown modules are

Typo, this should say "launcher mode" or "launch mode".

src/java.base/share/native/libjli/java.c line 1376:

> 1374:     if (mode == LM_SOURCE) {
> 1375:         // signal module bootstrap to defer warnings about unknown modules
> 1376:         AddOption("-Djdk.internal.java.launchmode=source", NULL);

This is the launcher code so better if the comment said could say that it communicates the launcher mode to runtime (confusing to say "signal module bootstrap" or anything about warnings here).

I note that the existing property is "sun.java.launcher". If you want then you could continue this contention and use "sun.java.launcher.mode".  It'a all JDK-internal and the system property is removed during startup so the naming doesn't really matter of course, I'd like prefer it end in ".mode" rather than "launchmode".

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22930#discussion_r1910223717
PR Review Comment: https://git.openjdk.org/jdk/pull/22930#discussion_r1910214018


More information about the compiler-dev mailing list