< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page

5291   _loader_data->add_class(ik, publicize);
5292 
5293   set_klass_to_deallocate(ik);
5294 
5295   assert(_field_info != nullptr, "invariant");
5296   assert(ik->static_field_size() == _field_info->_static_field_size, "sanity");
5297   assert(ik->nonstatic_oop_map_count() == _field_info->oop_map_blocks->_nonstatic_oop_map_count,
5298          "sanity");
5299 
5300   assert(ik->is_instance_klass(), "sanity");
5301   assert(ik->size_helper() == _field_info->_instance_size, "sanity");
5302 
5303   // Fill in information already parsed
5304   ik->set_should_verify_class(_need_verify);
5305 
5306   // Not yet: supers are done below to support the new subtype-checking fields
5307   ik->set_nonstatic_field_size(_field_info->_nonstatic_field_size);
5308   ik->set_has_nonstatic_fields(_field_info->_has_nonstatic_fields);
5309   assert(_fac != nullptr, "invariant");
5310   ik->set_static_oop_field_count(_fac->count[STATIC_OOP]);

5311 
5312   // this transfers ownership of a lot of arrays from
5313   // the parser onto the InstanceKlass*
5314   apply_parsed_class_metadata(ik, _java_fields_count);
5315 
5316   // can only set dynamic nest-host after static nest information is set
5317   if (cl_inst_info.dynamic_nest_host() != nullptr) {
5318     ik->set_nest_host(cl_inst_info.dynamic_nest_host());
5319   }
5320 
5321   // note that is not safe to use the fields in the parser from this point on
5322   assert(nullptr == _cp, "invariant");
5323   assert(nullptr == _fields, "invariant");
5324   assert(nullptr == _methods, "invariant");
5325   assert(nullptr == _inner_classes, "invariant");
5326   assert(nullptr == _nest_members, "invariant");
5327   assert(nullptr == _combined_annotations, "invariant");
5328   assert(nullptr == _record_components, "invariant");
5329   assert(nullptr == _permitted_subclasses, "invariant");
5330 

5291   _loader_data->add_class(ik, publicize);
5292 
5293   set_klass_to_deallocate(ik);
5294 
5295   assert(_field_info != nullptr, "invariant");
5296   assert(ik->static_field_size() == _field_info->_static_field_size, "sanity");
5297   assert(ik->nonstatic_oop_map_count() == _field_info->oop_map_blocks->_nonstatic_oop_map_count,
5298          "sanity");
5299 
5300   assert(ik->is_instance_klass(), "sanity");
5301   assert(ik->size_helper() == _field_info->_instance_size, "sanity");
5302 
5303   // Fill in information already parsed
5304   ik->set_should_verify_class(_need_verify);
5305 
5306   // Not yet: supers are done below to support the new subtype-checking fields
5307   ik->set_nonstatic_field_size(_field_info->_nonstatic_field_size);
5308   ik->set_has_nonstatic_fields(_field_info->_has_nonstatic_fields);
5309   assert(_fac != nullptr, "invariant");
5310   ik->set_static_oop_field_count(_fac->count[STATIC_OOP]);
5311   ik->set_nonstatic_oop_field_count(_fac->count[NONSTATIC_OOP]);
5312 
5313   // this transfers ownership of a lot of arrays from
5314   // the parser onto the InstanceKlass*
5315   apply_parsed_class_metadata(ik, _java_fields_count);
5316 
5317   // can only set dynamic nest-host after static nest information is set
5318   if (cl_inst_info.dynamic_nest_host() != nullptr) {
5319     ik->set_nest_host(cl_inst_info.dynamic_nest_host());
5320   }
5321 
5322   // note that is not safe to use the fields in the parser from this point on
5323   assert(nullptr == _cp, "invariant");
5324   assert(nullptr == _fields, "invariant");
5325   assert(nullptr == _methods, "invariant");
5326   assert(nullptr == _inner_classes, "invariant");
5327   assert(nullptr == _nest_members, "invariant");
5328   assert(nullptr == _combined_annotations, "invariant");
5329   assert(nullptr == _record_components, "invariant");
5330   assert(nullptr == _permitted_subclasses, "invariant");
5331 
< prev index next >