Mercurial > hg > truffle
comparison src/share/vm/classfile/classFileParser.cpp @ 17891:b6a2ba7d3ea7 hs25.20-b11
Merge
author | amurillo |
---|---|
date | Thu, 17 Apr 2014 16:09:07 -0700 |
parents | a18dafb24f80 7e6c20c85ccf |
children | 366c198c896d 364b73402247 |
comparison
equal
deleted
inserted
replaced
17862:70dc2c030c69 | 17891:b6a2ba7d3ea7 |
---|---|
3749 if (!is_supported_version(major_version, minor_version)) { | 3749 if (!is_supported_version(major_version, minor_version)) { |
3750 if (name == NULL) { | 3750 if (name == NULL) { |
3751 Exceptions::fthrow( | 3751 Exceptions::fthrow( |
3752 THREAD_AND_LOCATION, | 3752 THREAD_AND_LOCATION, |
3753 vmSymbols::java_lang_UnsupportedClassVersionError(), | 3753 vmSymbols::java_lang_UnsupportedClassVersionError(), |
3754 "Unsupported major.minor version %u.%u", | 3754 "Unsupported class file version %u.%u, " |
3755 "this version of the Java Runtime only recognizes class file versions up to %u.%u", | |
3755 major_version, | 3756 major_version, |
3756 minor_version); | 3757 minor_version, |
3758 JAVA_MAX_SUPPORTED_VERSION, | |
3759 JAVA_MAX_SUPPORTED_MINOR_VERSION); | |
3757 } else { | 3760 } else { |
3758 ResourceMark rm(THREAD); | 3761 ResourceMark rm(THREAD); |
3759 Exceptions::fthrow( | 3762 Exceptions::fthrow( |
3760 THREAD_AND_LOCATION, | 3763 THREAD_AND_LOCATION, |
3761 vmSymbols::java_lang_UnsupportedClassVersionError(), | 3764 vmSymbols::java_lang_UnsupportedClassVersionError(), |
3762 "%s : Unsupported major.minor version %u.%u", | 3765 "%s has been compiled by a more recent version of the Java Runtime (class file version %u.%u), " |
3766 "this version of the Java Runtime only recognizes class file versions up to %u.%u", | |
3763 name->as_C_string(), | 3767 name->as_C_string(), |
3764 major_version, | 3768 major_version, |
3765 minor_version); | 3769 minor_version, |
3770 JAVA_MAX_SUPPORTED_VERSION, | |
3771 JAVA_MAX_SUPPORTED_MINOR_VERSION); | |
3766 } | 3772 } |
3767 return nullHandle; | 3773 return nullHandle; |
3768 } | 3774 } |
3769 | 3775 |
3770 _major_version = major_version; | 3776 _major_version = major_version; |
4173 Annotations::free_contents(_loader_data, _fields_annotations); | 4179 Annotations::free_contents(_loader_data, _fields_annotations); |
4174 Annotations::free_contents(_loader_data, _fields_type_annotations); | 4180 Annotations::free_contents(_loader_data, _fields_type_annotations); |
4175 | 4181 |
4176 clear_class_metadata(); | 4182 clear_class_metadata(); |
4177 | 4183 |
4178 // deallocate the klass if already created. | 4184 // deallocate the klass if already created. Don't directly deallocate, but add |
4179 MetadataFactory::free_metadata(_loader_data, _klass); | 4185 // to the deallocate list so that the klass is removed from the CLD::_klasses list |
4186 // at a safepoint. | |
4187 if (_klass != NULL) { | |
4188 _loader_data->add_to_deallocate_list(_klass); | |
4189 } | |
4180 _klass = NULL; | 4190 _klass = NULL; |
4181 } | 4191 } |
4182 | 4192 |
4183 void ClassFileParser::print_field_layout(Symbol* name, | 4193 void ClassFileParser::print_field_layout(Symbol* name, |
4184 Array<u2>* fields, | 4194 Array<u2>* fields, |