< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page

5193   _loader_data->add_class(ik, publicize);
5194 
5195   set_klass_to_deallocate(ik);
5196 
5197   assert(_field_info != nullptr, "invariant");
5198   assert(ik->static_field_size() == _field_info->_static_field_size, "sanity");
5199   assert(ik->nonstatic_oop_map_count() == _field_info->oop_map_blocks->_nonstatic_oop_map_count,
5200          "sanity");
5201 
5202   assert(ik->is_instance_klass(), "sanity");
5203   assert(ik->size_helper() == _field_info->_instance_size, "sanity");
5204 
5205   // Fill in information already parsed
5206   ik->set_should_verify_class(_need_verify);
5207 
5208   // Not yet: supers are done below to support the new subtype-checking fields
5209   ik->set_nonstatic_field_size(_field_info->_nonstatic_field_size);
5210   ik->set_has_nonstatic_fields(_field_info->_has_nonstatic_fields);
5211   assert(_fac != nullptr, "invariant");
5212   ik->set_static_oop_field_count(_fac->count[STATIC_OOP]);

5213 
5214   // this transfers ownership of a lot of arrays from
5215   // the parser onto the InstanceKlass*
5216   apply_parsed_class_metadata(ik, _java_fields_count);
5217 
5218   // can only set dynamic nest-host after static nest information is set
5219   if (cl_inst_info.dynamic_nest_host() != nullptr) {
5220     ik->set_nest_host(cl_inst_info.dynamic_nest_host());
5221   }
5222 
5223   // note that is not safe to use the fields in the parser from this point on
5224   assert(nullptr == _cp, "invariant");
5225   assert(nullptr == _fieldinfo_stream, "invariant");
5226   assert(nullptr == _fields_status, "invariant");
5227   assert(nullptr == _methods, "invariant");
5228   assert(nullptr == _inner_classes, "invariant");
5229   assert(nullptr == _nest_members, "invariant");
5230   assert(nullptr == _combined_annotations, "invariant");
5231   assert(nullptr == _record_components, "invariant");
5232   assert(nullptr == _permitted_subclasses, "invariant");

5193   _loader_data->add_class(ik, publicize);
5194 
5195   set_klass_to_deallocate(ik);
5196 
5197   assert(_field_info != nullptr, "invariant");
5198   assert(ik->static_field_size() == _field_info->_static_field_size, "sanity");
5199   assert(ik->nonstatic_oop_map_count() == _field_info->oop_map_blocks->_nonstatic_oop_map_count,
5200          "sanity");
5201 
5202   assert(ik->is_instance_klass(), "sanity");
5203   assert(ik->size_helper() == _field_info->_instance_size, "sanity");
5204 
5205   // Fill in information already parsed
5206   ik->set_should_verify_class(_need_verify);
5207 
5208   // Not yet: supers are done below to support the new subtype-checking fields
5209   ik->set_nonstatic_field_size(_field_info->_nonstatic_field_size);
5210   ik->set_has_nonstatic_fields(_field_info->_has_nonstatic_fields);
5211   assert(_fac != nullptr, "invariant");
5212   ik->set_static_oop_field_count(_fac->count[STATIC_OOP]);
5213   ik->set_nonstatic_oop_field_count(_fac->count[NONSTATIC_OOP]);
5214 
5215   // this transfers ownership of a lot of arrays from
5216   // the parser onto the InstanceKlass*
5217   apply_parsed_class_metadata(ik, _java_fields_count);
5218 
5219   // can only set dynamic nest-host after static nest information is set
5220   if (cl_inst_info.dynamic_nest_host() != nullptr) {
5221     ik->set_nest_host(cl_inst_info.dynamic_nest_host());
5222   }
5223 
5224   // note that is not safe to use the fields in the parser from this point on
5225   assert(nullptr == _cp, "invariant");
5226   assert(nullptr == _fieldinfo_stream, "invariant");
5227   assert(nullptr == _fields_status, "invariant");
5228   assert(nullptr == _methods, "invariant");
5229   assert(nullptr == _inner_classes, "invariant");
5230   assert(nullptr == _nest_members, "invariant");
5231   assert(nullptr == _combined_annotations, "invariant");
5232   assert(nullptr == _record_components, "invariant");
5233   assert(nullptr == _permitted_subclasses, "invariant");
< prev index next >