8068578: test/java/io/Serializable/subclassGC/SubclassGC.java assumes app class loader is a URLClassLoader

Reviewed-by: alanb
diff --git a/jdk/test/java/io/Serializable/subclassGC/SubclassGC.java b/jdk/test/java/io/Serializable/subclassGC/SubclassGC.java
index 323a05e..ae16712 100644
--- a/jdk/test/java/io/Serializable/subclassGC/SubclassGC.java
+++ b/jdk/test/java/io/Serializable/subclassGC/SubclassGC.java
@@ -50,8 +50,9 @@
                 }
 
                 ClassLoader systemLoader = ClassLoader.getSystemClassLoader();
-                ClassLoader loader = new URLClassLoader(((URLClassLoader) systemLoader).getURLs(),
-                                                                                        systemLoader.getParent());
+                URL testClassesURL = new File(System.getProperty("test.classes")).toURI().toURL();
+                ClassLoader loader = new URLClassLoader(new URL[] { testClassesURL } ,
+                                                        systemLoader.getParent());
                 Class<? extends ObjectOutputStream> cl =
                         Class.forName(SubclassOfOOS.class.getName(), false,
                                                   loader).asSubclass(ObjectOutputStream.class);
diff --git a/jdk/test/java/io/Serializable/subclassGC/security.policy b/jdk/test/java/io/Serializable/subclassGC/security.policy
index 894df4c..a3ef804 100644
--- a/jdk/test/java/io/Serializable/subclassGC/security.policy
+++ b/jdk/test/java/io/Serializable/subclassGC/security.policy
@@ -2,5 +2,7 @@
 grant {
 	permission java.lang.RuntimePermission "createClassLoader";
 	permission java.lang.RuntimePermission "getClassLoader";
+	permission java.util.PropertyPermission "test.classes", "read";
+	permission java.io.FilePermission "<<ALL FILES>>", "read";
 };