hotspot/src/share/vm/classfile/classFileParser.cpp
changeset 602 92e03692ddd6
parent 383 f28a487324aa
child 605 a4a9ed21e981
equal deleted inserted replaced
395:0123092405e7 602:92e03692ddd6
    42 // - to check for bug fixes in the format checker in JDK1.5
    42 // - to check for bug fixes in the format checker in JDK1.5
    43 #define JAVA_1_5_VERSION                  49
    43 #define JAVA_1_5_VERSION                  49
    44 
    44 
    45 // Used for backward compatibility reasons:
    45 // Used for backward compatibility reasons:
    46 // - to check for javac bug fixes that happened after 1.5
    46 // - to check for javac bug fixes that happened after 1.5
       
    47 // - also used as the max version when running in jdk6
    47 #define JAVA_6_VERSION                    50
    48 #define JAVA_6_VERSION                    50
    48 
    49 
    49 
    50 
    50 void ClassFileParser::parse_constant_pool_entries(constantPoolHandle cp, int length, TRAPS) {
    51 void ClassFileParser::parse_constant_pool_entries(constantPoolHandle cp, int length, TRAPS) {
    51   // Use a local copy of ClassFileStream. It helps the C++ compiler to optimize
    52   // Use a local copy of ClassFileStream. It helps the C++ compiler to optimize
  3514           (is_public && is_private) ||
  3515           (is_public && is_private) ||
  3515           (is_protected && is_private));
  3516           (is_protected && is_private));
  3516 }
  3517 }
  3517 
  3518 
  3518 bool ClassFileParser::is_supported_version(u2 major, u2 minor) {
  3519 bool ClassFileParser::is_supported_version(u2 major, u2 minor) {
       
  3520   u2 max_version = JDK_Version::is_gte_jdk17x_version() ?
       
  3521     JAVA_MAX_SUPPORTED_VERSION : JAVA_6_VERSION;
  3519   return (major >= JAVA_MIN_SUPPORTED_VERSION) &&
  3522   return (major >= JAVA_MIN_SUPPORTED_VERSION) &&
  3520          (major <= JAVA_MAX_SUPPORTED_VERSION) &&
  3523          (major <= max_version) &&
  3521          ((major != JAVA_MAX_SUPPORTED_VERSION) ||
  3524          ((major != max_version) ||
  3522           (minor <= JAVA_MAX_SUPPORTED_MINOR_VERSION));
  3525           (minor <= JAVA_MAX_SUPPORTED_MINOR_VERSION));
  3523 }
  3526 }
  3524 
  3527 
  3525 void ClassFileParser::verify_legal_field_modifiers(
  3528 void ClassFileParser::verify_legal_field_modifiers(
  3526     jint flags, bool is_interface, TRAPS) {
  3529     jint flags, bool is_interface, TRAPS) {