src/share/vm/classfile/classFileParser.cpp

changeset 909
7a018855d2f0
parent 866
a45484ea312d
child 953
0af8b0718fc9
     1.1 --- a/src/share/vm/classfile/classFileParser.cpp	Thu Dec 04 08:55:34 2008 -0800
     1.2 +++ b/src/share/vm/classfile/classFileParser.cpp	Mon Dec 08 17:15:02 2008 -0800
     1.3 @@ -581,7 +581,8 @@
     1.4        interf = KlassHandle(THREAD, k);
     1.5        vmtimer->resume();
     1.6  
     1.7 -      cp->klass_at_put(interface_index, interf()); // eagerly resolve
     1.8 +      if (LinkWellKnownClasses)  // my super type is well known to me
     1.9 +        cp->klass_at_put(interface_index, interf()); // eagerly resolve
    1.10      }
    1.11  
    1.12      if (!Klass::cast(interf())->is_interface()) {
    1.13 @@ -2699,7 +2700,8 @@
    1.14                                                             CHECK_(nullHandle));
    1.15        KlassHandle kh (THREAD, k);
    1.16        super_klass = instanceKlassHandle(THREAD, kh());
    1.17 -      cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve
    1.18 +      if (LinkWellKnownClasses)  // my super class is well known to me
    1.19 +        cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve
    1.20      }
    1.21      if (super_klass.not_null()) {
    1.22        if (super_klass->is_interface()) {
    1.23 @@ -3128,7 +3130,8 @@
    1.24      this_klass->set_method_ordering(method_ordering());
    1.25      this_klass->set_initial_method_idnum(methods->length());
    1.26      this_klass->set_name(cp->klass_name_at(this_class_index));
    1.27 -    cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve
    1.28 +    if (LinkWellKnownClasses)  // I am well known to myself
    1.29 +      cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve
    1.30      this_klass->set_protection_domain(protection_domain());
    1.31      this_klass->set_fields_annotations(fields_annotations());
    1.32      this_klass->set_methods_annotations(methods_annotations());

mercurial