src/share/vm/classfile/classFileParser.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
6705523 Cdiff src/share/vm/classfile/classFileParser.cpp
src/share/vm/classfile/classFileParser.cpp
Print this page
rev 148 : 6705523: Fix for 6695506 will violate spec when used in JDK6
Summary: Make max classfile version number dependent on JDK version
Reviewed-by:
*** 42,51 ****
--- 42,52 ----
// - to check for bug fixes in the format checker in JDK1.5
#define JAVA_1_5_VERSION 49
// Used for backward compatibility reasons:
// - to check for javac bug fixes that happened after 1.5
+ // - also used as the max version when running in jdk6
#define JAVA_6_VERSION 50
void ClassFileParser::parse_constant_pool_entries(constantPoolHandle cp, int length, TRAPS) {
// Use a local copy of ClassFileStream. It helps the C++ compiler to optimize
*** 3514,3526 ****
(is_public && is_private) ||
(is_protected && is_private));
}
bool ClassFileParser::is_supported_version(u2 major, u2 minor) {
return (major >= JAVA_MIN_SUPPORTED_VERSION) &&
! (major <= JAVA_MAX_SUPPORTED_VERSION) &&
! ((major != JAVA_MAX_SUPPORTED_VERSION) ||
(minor <= JAVA_MAX_SUPPORTED_MINOR_VERSION));
}
void ClassFileParser::verify_legal_field_modifiers(
jint flags, bool is_interface, TRAPS) {
--- 3515,3529 ----
(is_public && is_private) ||
(is_protected && is_private));
}
bool ClassFileParser::is_supported_version(u2 major, u2 minor) {
+ u2 max_version = JDK_Version::is_gte_jdk17x_version() ?
+ JAVA_MAX_SUPPORTED_VERSION : JAVA_6_VERSION;
return (major >= JAVA_MIN_SUPPORTED_VERSION) &&
! (major <= max_version) &&
! ((major != max_version) ||
(minor <= JAVA_MAX_SUPPORTED_MINOR_VERSION));
}
void ClassFileParser::verify_legal_field_modifiers(
jint flags, bool is_interface, TRAPS) {
src/share/vm/classfile/classFileParser.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File