Created
April 13, 2019 16:33
-
-
Save rz7d/f0cb2b7104b0174b0915c68ca75ca4be to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# HG changeset patch | |
# User azure <[email protected]> | |
# Date 1555065807 -3600 | |
# Fri Apr 12 11:43:27 2019 +0100 | |
# Node ID bcf8f4f38fced14272d9984707427199b4c1981c | |
# Parent b67884871b5fff79c5ef3eb8ac74dd48d71ea9b1 | |
Modifications for Minecraft | |
diff --git a/src/java.base/share/classes/java/net/URLClassLoader.java b/src/java.base/share/classes/java/net/URLClassLoader.java | |
--- a/src/java.base/share/classes/java/net/URLClassLoader.java | |
+++ b/src/java.base/share/classes/java/net/URLClassLoader.java | |
@@ -82,7 +82,10 @@ | |
*/ | |
public class URLClassLoader extends SecureClassLoader implements Closeable { | |
/* The search path for classes and resources */ | |
- private final URLClassPath ucp; | |
+ /** | |
+ * Instance of URLClassPath | |
+ */ | |
+ public final URLClassPath ucp; | |
/* The context to be used when loading classes and resources */ | |
private final AccessControlContext acc; | |
@@ -123,6 +126,18 @@ | |
} | |
/** | |
+ * for MoltenVM | |
+ * @param ucp class path | |
+ * @param name name | |
+ * @param parent parent | |
+ */ | |
+ protected URLClassLoader(URLClassPath ucp, String name, ClassLoader parent) { | |
+ super(name, parent); | |
+ this.acc = AccessController.getContext(); | |
+ this.ucp = ucp; | |
+ } | |
+ | |
+ /** | |
* Constructs a new URLClassLoader for the specified URLs using the | |
* default delegation parent {@code ClassLoader}. The URLs will | |
* be searched in the order specified for classes and resources after | |
diff --git a/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java b/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java | |
--- a/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java | |
+++ b/src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java | |
@@ -94,7 +94,7 @@ | |
*/ | |
public class BuiltinClassLoader | |
- extends SecureClassLoader | |
+ extends java.net.URLClassLoader | |
{ | |
static { | |
if (!ClassLoader.registerAsParallelCapable()) | |
@@ -105,7 +105,7 @@ | |
private final BuiltinClassLoader parent; | |
// the URL class path, or null if there is no class path | |
- private final URLClassPath ucp; | |
+ // private final URLClassPath ucp; | |
/** | |
@@ -157,10 +157,10 @@ | |
*/ | |
BuiltinClassLoader(String name, BuiltinClassLoader parent, URLClassPath ucp) { | |
// ensure getParent() returns null when the parent is the boot loader | |
- super(name, parent == null || parent == ClassLoaders.bootLoader() ? null : parent); | |
+ super(ucp, name, parent == null || parent == ClassLoaders.bootLoader() ? null : parent); | |
this.parent = parent; | |
- this.ucp = ucp; | |
+ // this.ucp = ucp; | |
this.nameToModule = new ConcurrentHashMap<>(); | |
this.moduleToReader = new ConcurrentHashMap<>(); | |
@@ -866,7 +866,7 @@ | |
* existing package either in this class loader or one of its ancestors | |
* @throws SecurityException if the package name is untrusted in the manifest | |
*/ | |
- private Package definePackage(String pn, Manifest man, URL url) { | |
+ protected Package definePackage(String pn, Manifest man, URL url) { | |
String specTitle = null; | |
String specVersion = null; | |
String specVendor = null; | |
diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java | |
--- a/src/java.base/share/classes/module-info.java | |
+++ b/src/java.base/share/classes/module-info.java | |
@@ -151,9 +151,7 @@ | |
jdk.jlink; | |
exports jdk.internal.jimage.decompressor to | |
jdk.jlink; | |
- exports jdk.internal.loader to | |
- java.instrument, | |
- java.logging; | |
+ exports jdk.internal.loader; | |
exports jdk.internal.jmod to | |
jdk.compiler, | |
jdk.jlink; | |
@@ -197,12 +195,7 @@ | |
jdk.scripting.nashorn.shell, | |
jdk.unsupported, | |
jdk.internal.vm.ci; | |
- exports jdk.internal.module to | |
- java.instrument, | |
- java.management.rmi, | |
- jdk.jartool, | |
- jdk.jfr, | |
- jdk.jlink; | |
+ exports jdk.internal.module; | |
exports jdk.internal.perf to | |
java.management, | |
jdk.management.agent, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment