< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page

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

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

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