< prev index next >

src/share/vm/classfile/classFileParser.cpp

Print this page




5618   Handle module_handle(THREAD, JNIHandles::resolve(module_entry->module()));
5619 
5620   // Allocate mirror and initialize static fields
5621   // The create_mirror() call will also call compute_modifiers()
5622   java_lang_Class::create_mirror(ik,
5623                                  Handle(THREAD, _loader_data->class_loader()),
5624                                  module_handle,
5625                                  _protection_domain,
5626                                  CHECK);
5627 
5628   assert(_all_mirandas != NULL, "invariant");
5629 
5630   // Generate any default methods - default methods are public interface methods
5631   // that have a default implementation.  This is new with Java 8.
5632   if (_has_nonstatic_concrete_methods) {
5633     DefaultMethods::generate_default_methods(ik,
5634                                              _all_mirandas,
5635                                              CHECK);
5636   }
5637 





5638   // Valhalla shady value type conversion
5639   if (_parsed_annotations->is_derive_value_type()) {
5640     ik->create_derive_value_type(Handle(THREAD, _loader_data->class_loader()),
5641                                  _protection_domain, CHECK);
5642   }
5643 
5644   // Add read edges to the unnamed modules of the bootstrap and app class loaders.
5645   if (changed_by_loadhook && !module_handle.is_null() && module_entry->is_named() &&
5646       !module_entry->has_default_read_edges()) {
5647     if (!module_entry->set_has_default_read_edges()) {
5648       // We won a potential race
5649       JvmtiExport::add_default_read_edges(module_handle, THREAD);
5650     }
5651   }
5652 
5653   // Update the loader_data graph.
5654   record_defined_class_dependencies(ik, CHECK);
5655 
5656   for (FieldStream st((InstanceKlass*)ik, false, false); !st.eos(); st.next()) {
5657     Symbol* signature = st.signature();




5618   Handle module_handle(THREAD, JNIHandles::resolve(module_entry->module()));
5619 
5620   // Allocate mirror and initialize static fields
5621   // The create_mirror() call will also call compute_modifiers()
5622   java_lang_Class::create_mirror(ik,
5623                                  Handle(THREAD, _loader_data->class_loader()),
5624                                  module_handle,
5625                                  _protection_domain,
5626                                  CHECK);
5627 
5628   assert(_all_mirandas != NULL, "invariant");
5629 
5630   // Generate any default methods - default methods are public interface methods
5631   // that have a default implementation.  This is new with Java 8.
5632   if (_has_nonstatic_concrete_methods) {
5633     DefaultMethods::generate_default_methods(ik,
5634                                              _all_mirandas,
5635                                              CHECK);
5636   }
5637 
5638   if (is_value_type()) {
5639     ValueKlass* vk = ValueKlass::cast(ik);
5640     vk->set_if_bufferable();
5641   }
5642 
5643   // Valhalla shady value type conversion
5644   if (_parsed_annotations->is_derive_value_type()) {
5645     ik->create_derive_value_type(Handle(THREAD, _loader_data->class_loader()),
5646                                  _protection_domain, CHECK);
5647   }
5648 
5649   // Add read edges to the unnamed modules of the bootstrap and app class loaders.
5650   if (changed_by_loadhook && !module_handle.is_null() && module_entry->is_named() &&
5651       !module_entry->has_default_read_edges()) {
5652     if (!module_entry->set_has_default_read_edges()) {
5653       // We won a potential race
5654       JvmtiExport::add_default_read_edges(module_handle, THREAD);
5655     }
5656   }
5657 
5658   // Update the loader_data graph.
5659   record_defined_class_dependencies(ik, CHECK);
5660 
5661   for (FieldStream st((InstanceKlass*)ik, false, false); !st.eos(); st.next()) {
5662     Symbol* signature = st.signature();


< prev index next >