--- old/src/java.base/share/classes/java/lang/Runtime.java 2020-03-09 16:05:51.000000000 -0700 +++ new/src/java.base/share/classes/java/lang/Runtime.java 2020-03-09 16:05:51.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2019, Azul Systems, Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -36,6 +36,7 @@ import java.util.StringTokenizer; import jdk.internal.access.SharedSecrets; +import jdk.internal.loader.NativeLibrary; import jdk.internal.reflect.CallerSensitive; import jdk.internal.reflect.Reflection; @@ -733,16 +734,17 @@ load0(Reflection.getCallerClass(), filename); } - void load0(Class fromClass, String filename) { + NativeLibrary load0(Class fromClass, String filename) { SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkLink(filename); } - if (!(new File(filename).isAbsolute())) { + File file = new File(filename); + if (!file.isAbsolute()) { throw new UnsatisfiedLinkError( "Expecting an absolute path of the library: " + filename); } - ClassLoader.loadLibrary(fromClass, filename, true); + return ClassLoader.loadLibrary(fromClass, file); } /** @@ -795,7 +797,7 @@ loadLibrary0(Reflection.getCallerClass(), libname); } - void loadLibrary0(Class fromClass, String libname) { + NativeLibrary loadLibrary0(Class fromClass, String libname) { SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkLink(libname); @@ -804,7 +806,7 @@ throw new UnsatisfiedLinkError( "Directory separator should not appear in library name: " + libname); } - ClassLoader.loadLibrary(fromClass, libname, false); + return ClassLoader.loadLibrary(fromClass, libname); } /**