RFR: 8327218: Add an ability to specify modules which should have native access enabled

Maurizio Cimadamore mcimadamore at openjdk.org
Mon Mar 4 14:14:43 UTC 2024


On Mon, 4 Mar 2024 13:52:13 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:

> Currently, JDK modules load by the bootstrap and platform ClassLoaders are automatically granted the native access. I am working on an upgrade of JLine inside the `jdk.internal.le` module, and I would like to replace the current native bindings with FFM-based bindings (which are now somewhat provided by JLine). But, for that, native access is needed for the `jdk.internal.le` module. We could possibly move the module to the platform ClassLoader, but it seems it might be better to have more control over which modules have the native access.
> 
> This patch introduces an explicit list of modules that will automatically be granted the native access. Note this patch is not yet intended to change the end behavior - the list of modules granted native access is supposed to be the same as modules in the boot and platform ClassLoaders.

Looks good.

src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java line 273:

> 271: 
> 272:     /**
> 273:      * Updates module named name in layer layer to allow access to restricted methods.

Suggestion:

     * Updates module named {@code name} in layer {@code layer} to allow access to restricted methods.

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

> 804:     /**
> 805:      * Process the --enable-native-access option to grant access to restricted methods to selected modules.
> 806:      * Also add Enable native access from JDK modules.

I don't think this extra comment is needed.

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

Marked as reviewed by mcimadamore (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18106#pullrequestreview-1914419463
PR Review Comment: https://git.openjdk.org/jdk/pull/18106#discussion_r1511226929
PR Review Comment: https://git.openjdk.org/jdk/pull/18106#discussion_r1511223692


More information about the core-libs-dev mailing list