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(); |