Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/classFileParser.cpp @ 6852:19eb999cb72c
8000740: remove LinkWellKnownClasses
Reviewed-by: kvn, jrose
author | twisti |
---|---|
date | Thu, 11 Oct 2012 14:46:20 -0700 |
parents | 8e47bac5643a |
children | d804e148cff8 |
comparison
equal
deleted
inserted
replaced
6851:94e9408dbf50 | 6852:19eb999cb72c |
---|---|
814 // Call resolve_super so classcircularity is checked | 814 // Call resolve_super so classcircularity is checked |
815 Klass* k = SystemDictionary::resolve_super_or_fail(class_name, | 815 Klass* k = SystemDictionary::resolve_super_or_fail(class_name, |
816 unresolved_klass, class_loader, protection_domain, | 816 unresolved_klass, class_loader, protection_domain, |
817 false, CHECK_NULL); | 817 false, CHECK_NULL); |
818 interf = KlassHandle(THREAD, k); | 818 interf = KlassHandle(THREAD, k); |
819 | |
820 if (LinkWellKnownClasses) // my super type is well known to me | |
821 cp->klass_at_put(interface_index, interf()); // eagerly resolve | |
822 } | 819 } |
823 | 820 |
824 if (!Klass::cast(interf())->is_interface()) { | 821 if (!Klass::cast(interf())->is_interface()) { |
825 THROW_MSG_(vmSymbols::java_lang_IncompatibleClassChangeError(), "Implementing class", NULL); | 822 THROW_MSG_(vmSymbols::java_lang_IncompatibleClassChangeError(), "Implementing class", NULL); |
826 } | 823 } |
3195 true, | 3192 true, |
3196 CHECK_(nullHandle)); | 3193 CHECK_(nullHandle)); |
3197 | 3194 |
3198 KlassHandle kh (THREAD, k); | 3195 KlassHandle kh (THREAD, k); |
3199 super_klass = instanceKlassHandle(THREAD, kh()); | 3196 super_klass = instanceKlassHandle(THREAD, kh()); |
3200 if (LinkWellKnownClasses) // my super class is well known to me | |
3201 cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve | |
3202 } | 3197 } |
3203 if (super_klass.not_null()) { | 3198 if (super_klass.not_null()) { |
3204 if (super_klass->is_interface()) { | 3199 if (super_klass->is_interface()) { |
3205 ResourceMark rm(THREAD); | 3200 ResourceMark rm(THREAD); |
3206 Exceptions::fthrow( | 3201 Exceptions::fthrow( |
3642 // size is equal to the number of methods in the class. If | 3637 // size is equal to the number of methods in the class. If |
3643 // that changes, then InstanceKlass::idnum_can_increment() | 3638 // that changes, then InstanceKlass::idnum_can_increment() |
3644 // has to be changed accordingly. | 3639 // has to be changed accordingly. |
3645 this_klass->set_initial_method_idnum(methods->length()); | 3640 this_klass->set_initial_method_idnum(methods->length()); |
3646 this_klass->set_name(cp->klass_name_at(this_class_index)); | 3641 this_klass->set_name(cp->klass_name_at(this_class_index)); |
3647 if (LinkWellKnownClasses || is_anonymous()) // I am well known to myself | 3642 if (is_anonymous()) // I am well known to myself |
3648 cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve | 3643 cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve |
3649 | 3644 |
3650 if (fields_annotations != NULL || | 3645 if (fields_annotations != NULL || |
3651 methods_annotations != NULL || | 3646 methods_annotations != NULL || |
3652 methods_parameter_annotations != NULL || | 3647 methods_parameter_annotations != NULL || |