jdk/src/java.base/share/classes/java/util/jar/JarFile.java
changeset 27565 729f9700483a
parent 25859 3317bb8137f4
child 29986 97167d851fc4
--- a/jdk/src/java.base/share/classes/java/util/jar/JarFile.java	Tue Nov 18 15:25:16 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/jar/JarFile.java	Wed Dec 03 14:22:58 2014 +0000
@@ -548,58 +548,15 @@
      */
     private void checkForSpecialAttributes() throws IOException {
         if (hasCheckedSpecialAttributes) return;
-        if (!isKnownNotToHaveSpecialAttributes()) {
-            JarEntry manEntry = getManEntry();
-            if (manEntry != null) {
-                byte[] b = getBytes(manEntry);
-                if (match(CLASSPATH_CHARS, b, CLASSPATH_LASTOCC, CLASSPATH_OPTOSFT))
-                    hasClassPathAttribute = true;
-            }
+        JarEntry manEntry = getManEntry();
+        if (manEntry != null) {
+            byte[] b = getBytes(manEntry);
+            if (match(CLASSPATH_CHARS, b, CLASSPATH_LASTOCC, CLASSPATH_OPTOSFT))
+                hasClassPathAttribute = true;
         }
         hasCheckedSpecialAttributes = true;
     }
 
-    private static String javaHome;
-    private static volatile String[] jarNames;
-    private boolean isKnownNotToHaveSpecialAttributes() {
-        // Optimize away even scanning of manifest for jar files we
-        // deliver which don't have a class-path attribute. If one of
-        // these jars is changed to include such an attribute this code
-        // must be changed.
-        if (javaHome == null) {
-            javaHome = AccessController.doPrivileged(
-                new GetPropertyAction("java.home"));
-        }
-        if (jarNames == null) {
-            String[] names = new String[11];
-            String fileSep = File.separator;
-            int i = 0;
-            names[i++] = fileSep + "rt.jar";
-            names[i++] = fileSep + "jsse.jar";
-            names[i++] = fileSep + "jce.jar";
-            names[i++] = fileSep + "charsets.jar";
-            names[i++] = fileSep + "dnsns.jar";
-            names[i++] = fileSep + "zipfs.jar";
-            names[i++] = fileSep + "localedata.jar";
-            names[i++] = fileSep = "cldrdata.jar";
-            names[i++] = fileSep + "sunjce_provider.jar";
-            names[i++] = fileSep + "sunpkcs11.jar";
-            names[i++] = fileSep + "sunec.jar";
-            jarNames = names;
-        }
-
-        String name = getName();
-        if (name.startsWith(javaHome)) {
-            String[] names = jarNames;
-            for (String jarName : names) {
-                if (name.endsWith(jarName)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
     private synchronized void ensureInitialization() {
         try {
             maybeInstantiateVerifier();