6855180: Fix classfile version check in java_crw_demo
authorohair
Fri Jun 26 21:52:47 2009 -0700 (8 months ago)
changeset 1355dd20c662d463
parent 1351a5f7d97c3f82
child 1356cbb5964d97ef
6855180: Fix classfile version check in java_crw_demo
Reviewed-by: jjg
src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
src/share/javavm/export/classfile_constants.h
--- a/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c Fri Jun 26 18:39:45 2009 -0700
+++ b/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c Fri Jun 26 21:52:47 2009 -0700
@@ -2227,7 +2227,8 @@ inject_class(struct CrwClassImage *ci,
CrwCpoolIndex this_class;
CrwCpoolIndex super_class;
unsigned magic;
- unsigned classfileVersion;
+ unsigned classfileMajorVersion;
+ unsigned classfileMinorVersion;
unsigned interface_count;
CRW_ASSERT_CI(ci);
@@ -2258,10 +2259,12 @@ inject_class(struct CrwClassImage *ci,
}
/* minor version number not used */
- (void)copyU2(ci);
+ classfileMinorVersion = copyU2(ci);
/* major version number not used */
- classfileVersion = copyU2(ci);
- CRW_ASSERT(ci, classfileVersion <= 50); /* Mustang class files or less */
+ classfileMajorVersion = copyU2(ci);
+ CRW_ASSERT(ci, (classfileMajorVersion <= JVM_CLASSFILE_MAJOR_VERSION) ||
+ ((classfileMajorVersion == JVM_CLASSFILE_MAJOR_VERSION) &&
+ (classfileMinorVersion <= JVM_CLASSFILE_MINOR_VERSION)));
cpool_setup(ci);
--- a/src/share/javavm/export/classfile_constants.h Fri Jun 26 18:39:45 2009 -0700
+++ b/src/share/javavm/export/classfile_constants.h Fri Jun 26 21:52:47 2009 -0700
@@ -29,6 +29,10 @@
#ifdef __cplusplus
extern "C" {
#endif
+
+/* Classfile version number for this information */
+#define JVM_CLASSFILE_MAJOR_VERSION 51
+#define JVM_CLASSFILE_MINOR_VERSION 0
/* Flags */