< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page




5694     // not stored in SystemDictionary), _this_class_index cannot be resolved
5695     // with ConstantPool::klass_at_impl, which does a SystemDictionary lookup.
5696     // Therefore, we must eagerly resolve _this_class_index now.
5697     ik->constants()->klass_at_put(_this_class_index, ik);
5698   }
5699 
5700   ik->set_minor_version(_minor_version);
5701   ik->set_major_version(_major_version);
5702   ik->set_has_nonstatic_concrete_methods(_has_nonstatic_concrete_methods);
5703   ik->set_declares_nonstatic_concrete_methods(_declares_nonstatic_concrete_methods);
5704 
5705   if (_unsafe_anonymous_host != NULL) {
5706     assert (ik->is_unsafe_anonymous(), "should be the same");
5707     ik->set_unsafe_anonymous_host(_unsafe_anonymous_host);
5708   }
5709 
5710   // Set PackageEntry for this_klass
5711   oop cl = ik->class_loader();
5712   Handle clh = Handle(THREAD, java_lang_ClassLoader::non_reflection_class_loader(cl));
5713   ClassLoaderData* cld = ClassLoaderData::class_loader_data_or_null(clh());
5714   ik->set_package(cld, CHECK);
5715 
5716   const Array<Method*>* const methods = ik->methods();
5717   assert(methods != NULL, "invariant");
5718   const int methods_len = methods->length();
5719 
5720   check_methods_for_intrinsics(ik, methods);
5721 
5722   // Fill in field values obtained by parse_classfile_attributes
5723   if (_parsed_annotations->has_any_annotations()) {
5724     _parsed_annotations->apply_to(ik);
5725   }
5726 
5727   apply_parsed_class_attributes(ik);
5728 
5729   // Miranda methods
5730   if ((_num_miranda_methods > 0) ||
5731       // if this class introduced new miranda methods or
5732       (_super_klass != NULL && _super_klass->has_miranda_methods())
5733         // super class exists and this class inherited miranda methods
5734      ) {




5694     // not stored in SystemDictionary), _this_class_index cannot be resolved
5695     // with ConstantPool::klass_at_impl, which does a SystemDictionary lookup.
5696     // Therefore, we must eagerly resolve _this_class_index now.
5697     ik->constants()->klass_at_put(_this_class_index, ik);
5698   }
5699 
5700   ik->set_minor_version(_minor_version);
5701   ik->set_major_version(_major_version);
5702   ik->set_has_nonstatic_concrete_methods(_has_nonstatic_concrete_methods);
5703   ik->set_declares_nonstatic_concrete_methods(_declares_nonstatic_concrete_methods);
5704 
5705   if (_unsafe_anonymous_host != NULL) {
5706     assert (ik->is_unsafe_anonymous(), "should be the same");
5707     ik->set_unsafe_anonymous_host(_unsafe_anonymous_host);
5708   }
5709 
5710   // Set PackageEntry for this_klass
5711   oop cl = ik->class_loader();
5712   Handle clh = Handle(THREAD, java_lang_ClassLoader::non_reflection_class_loader(cl));
5713   ClassLoaderData* cld = ClassLoaderData::class_loader_data_or_null(clh());
5714   ik->set_package(cld, NULL, CHECK);
5715 
5716   const Array<Method*>* const methods = ik->methods();
5717   assert(methods != NULL, "invariant");
5718   const int methods_len = methods->length();
5719 
5720   check_methods_for_intrinsics(ik, methods);
5721 
5722   // Fill in field values obtained by parse_classfile_attributes
5723   if (_parsed_annotations->has_any_annotations()) {
5724     _parsed_annotations->apply_to(ik);
5725   }
5726 
5727   apply_parsed_class_attributes(ik);
5728 
5729   // Miranda methods
5730   if ((_num_miranda_methods > 0) ||
5731       // if this class introduced new miranda methods or
5732       (_super_klass != NULL && _super_klass->has_miranda_methods())
5733         // super class exists and this class inherited miranda methods
5734      ) {


< prev index next >