test/hotspot/jtreg/runtime/cds/appcds/customLoader/test-classes/LoaderSegregation.java
changeset 57765 a89ec7fc99aa
parent 57567 b000362a89a0
child 58679 9c3209ff7550
--- a/test/hotspot/jtreg/runtime/cds/appcds/customLoader/test-classes/LoaderSegregation.java	Thu Aug 15 19:29:58 2019 +0000
+++ b/test/hotspot/jtreg/runtime/cds/appcds/customLoader/test-classes/LoaderSegregation.java	Thu Aug 15 16:23:41 2019 -0700
@@ -81,8 +81,25 @@
         }
 
         { // UNREGISTERED LOADER
-            URLClassLoader urlClassLoader = new URLClassLoader(urls);
-            Class c2 = Util.defineClassFromJAR(urlClassLoader, jarFile, ONLY_BUILTIN);
+            URLClassLoader urlClassLoader = new URLClassLoader(urls) {
+                protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
+                    synchronized (getClassLoadingLock(name)) {
+                        Class<?> c = findLoadedClass(name);
+                        if (c == null) {
+                            try {
+                                c = findClass(name);
+                            } catch (ClassNotFoundException e) {
+                                c = getParent().loadClass(name);
+                            }
+                        }
+                        if (resolve) {
+                            resolveClass(c);
+                        }
+                        return c;
+                    }
+                }
+            };
+            Class<?> c2 = urlClassLoader.loadClass(ONLY_BUILTIN);
 
             if (c2.getClassLoader() != urlClassLoader) {
                 throw new RuntimeException("Error in test");