On Mon, 4 Mar 2024 13:52:13 GMT, Jan Lahoda <[email protected]> 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