< prev index next >

src/share/vm/classfile/classLoader.cpp

Print this page
rev 10979 : 8140594: Various minor code improvements (compiler)


 290                          strcmp(multi_ver, "force")  == 0) &&
 291                          is_multiple_versioned(THREAD);
 292     // command line version setting
 293     int version = 0;
 294     const int base_version = 8; // JDK8
 295     int cur_ver = JDK_Version::current().major_version();
 296     if (verstr != NULL) {
 297       version = atoi(verstr);
 298       if (version < base_version || version > cur_ver) {
 299         is_multi_ver = false;
 300         // print out warning, do not use assertion here since it will continue to look
 301         // for proper version.
 302         warning("JDK%d is not supported in multiple version jars", version);
 303       }
 304     }
 305 
 306     if (is_multi_ver) {
 307       int n;
 308       char entry_name[JVM_MAXPATHLEN];
 309       if (version > 0) {
 310         n = jio_snprintf(entry_name, sizeof(entry_name), "META-INF/versions/%d/%s", version, name);
 311         entry_name[n] = '\0';
 312         buffer = open_entry((const char*)entry_name, filesize, false, CHECK_NULL);
 313         if (buffer == NULL) {
 314           warning("Could not find %s in %s, try to find highest version instead", entry_name, _zip_name);
 315         }
 316       }
 317       if (buffer == NULL) {
 318         for (int i = cur_ver; i >= base_version; i--) {
 319           n = jio_snprintf(entry_name, sizeof(entry_name), "META-INF/versions/%d/%s", i, name);
 320           entry_name[n] = '\0';
 321           buffer = open_entry((const char*)entry_name, filesize, false, CHECK_NULL);
 322           if (buffer != NULL) {
 323             break;
 324           }
 325         }
 326       }
 327     }
 328   }
 329   return buffer;
 330 }
 331 
 332 bool ClassPathZipEntry::is_multiple_versioned(TRAPS) {
 333   assert(DumpSharedSpaces, "called only at dump time");
 334   if (_multi_versioned != _unknown) {
 335     return (_multi_versioned == _yes) ? true : false;
 336   }
 337   jint size;
 338   char* buffer = (char*)open_entry("META-INF/MANIFEST.MF", &size, true, CHECK_false);
 339   if (buffer != NULL) {
 340     char* p = buffer;




 290                          strcmp(multi_ver, "force")  == 0) &&
 291                          is_multiple_versioned(THREAD);
 292     // command line version setting
 293     int version = 0;
 294     const int base_version = 8; // JDK8
 295     int cur_ver = JDK_Version::current().major_version();
 296     if (verstr != NULL) {
 297       version = atoi(verstr);
 298       if (version < base_version || version > cur_ver) {
 299         is_multi_ver = false;
 300         // print out warning, do not use assertion here since it will continue to look
 301         // for proper version.
 302         warning("JDK%d is not supported in multiple version jars", version);
 303       }
 304     }
 305 
 306     if (is_multi_ver) {
 307       int n;
 308       char entry_name[JVM_MAXPATHLEN];
 309       if (version > 0) {
 310         jio_snprintf(entry_name, sizeof(entry_name), "META-INF/versions/%d/%s", version, name);

 311         buffer = open_entry((const char*)entry_name, filesize, false, CHECK_NULL);
 312         if (buffer == NULL) {
 313           warning("Could not find %s in %s, try to find highest version instead", entry_name, _zip_name);
 314         }
 315       }
 316       if (buffer == NULL) {
 317         for (int i = cur_ver; i >= base_version; i--) {
 318           jio_snprintf(entry_name, sizeof(entry_name), "META-INF/versions/%d/%s", i, name);

 319           buffer = open_entry((const char*)entry_name, filesize, false, CHECK_NULL);
 320           if (buffer != NULL) {
 321             break;
 322           }
 323         }
 324       }
 325     }
 326   }
 327   return buffer;
 328 }
 329 
 330 bool ClassPathZipEntry::is_multiple_versioned(TRAPS) {
 331   assert(DumpSharedSpaces, "called only at dump time");
 332   if (_multi_versioned != _unknown) {
 333     return (_multi_versioned == _yes) ? true : false;
 334   }
 335   jint size;
 336   char* buffer = (char*)open_entry("META-INF/MANIFEST.MF", &size, true, CHECK_false);
 337   if (buffer != NULL) {
 338     char* p = buffer;


< prev index next >