< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page

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

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

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