On Thu, 10 Feb 2022 23:27:49 GMT, Mandy Chung <mch...@openjdk.org> wrote:
> This patch removes the restriction in the raw library loading mechanism that > does not allow mix-n-match of loading a library as a JNI library and as a raw > library. > > The raw library loading mechanism is designed for panama to load native > library essentially equivalent to dlopen/dlclose calls independent of JNI > library loading. If a native library is loaded as a JNI library and a raw > library, it will get different NativeLibrary instances. When a class loader > is being unloaded, JNI_Unload will be invoked but the native library may not > be unloaded until NativeLibrary::unload is explicitly called for the raw > library. LGTM src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java line 58: > 56: * will fail. > 57: */ > 58: public abstract class NativeLibraries { could this be sealed with only two specific subtypes defined here? src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java line 251: > 249: // do not search java.library.path > 250: super(loader, loader != null ? null : NativeLibraries.class, > 251: loader != null ? true : false); The last argument expression of the super class could be just loader != null ------------- Marked as reviewed by sundar (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7435