5615 // Generate any default methods - default methods are public interface methods
5616 // that have a default implementation. This is new with Java 8.
5617 if (_has_nonstatic_concrete_methods) {
5618 DefaultMethods::generate_default_methods(ik,
5619 _all_mirandas,
5620 CHECK);
5621 }
5622
5623 // Add read edges to the unnamed modules of the bootstrap and app class loaders.
5624 if (changed_by_loadhook && !module_handle.is_null() && module_entry->is_named() &&
5625 !module_entry->has_default_read_edges()) {
5626 if (!module_entry->set_has_default_read_edges()) {
5627 // We won a potential race
5628 JvmtiExport::add_default_read_edges(module_handle, THREAD);
5629 }
5630 }
5631
5632 ClassLoadingService::notify_class_loaded(ik, false /* not shared class */);
5633
5634 if (!is_internal()) {
5635 if (log_is_enabled(Info, class, load)) {
5636 ResourceMark rm;
5637 const char* module_name = (module_entry->name() == NULL) ? UNNAMED_MODULE : module_entry->name()->as_C_string();
5638 ik->print_class_load_logging(_loader_data, module_name, _stream);
5639 }
5640
5641 if (ik->minor_version() == JAVA_PREVIEW_MINOR_VERSION &&
5642 ik->major_version() != JAVA_MIN_SUPPORTED_VERSION &&
5643 log_is_enabled(Info, class, preview)) {
5644 ResourceMark rm;
5645 log_info(class, preview)("Loading class %s that depends on preview features (class file version %d.65535)",
5646 ik->external_name(), ik->major_version());
5647 }
5648
5649 if (log_is_enabled(Debug, class, resolve)) {
5650 ResourceMark rm;
5651 // print out the superclass.
5652 const char * from = ik->external_name();
5653 if (ik->java_super() != NULL) {
5654 log_debug(class, resolve)("%s %s (super)",
5655 from,
5656 ik->java_super()->external_name());
5657 }
5658 // print out each of the interface classes referred to by this class.
|
5615 // Generate any default methods - default methods are public interface methods
5616 // that have a default implementation. This is new with Java 8.
5617 if (_has_nonstatic_concrete_methods) {
5618 DefaultMethods::generate_default_methods(ik,
5619 _all_mirandas,
5620 CHECK);
5621 }
5622
5623 // Add read edges to the unnamed modules of the bootstrap and app class loaders.
5624 if (changed_by_loadhook && !module_handle.is_null() && module_entry->is_named() &&
5625 !module_entry->has_default_read_edges()) {
5626 if (!module_entry->set_has_default_read_edges()) {
5627 // We won a potential race
5628 JvmtiExport::add_default_read_edges(module_handle, THREAD);
5629 }
5630 }
5631
5632 ClassLoadingService::notify_class_loaded(ik, false /* not shared class */);
5633
5634 if (!is_internal()) {
5635 bool trace_class_loading = log_is_enabled(Info, class, load);
5636 #if INCLUDE_JVMCI
5637 bool trace_loading_cause = TraceClassLoadingCause != NULL &&
5638 (strcmp(TraceClassLoadingCause, "*") == 0 ||
5639 strstr(ik->external_name(), TraceClassLoadingCause) != NULL);
5640 trace_class_loading = trace_class_loading || trace_loading_cause;
5641 #endif
5642 if (trace_class_loading) {
5643 ResourceMark rm;
5644 const char* module_name = (module_entry->name() == NULL) ? UNNAMED_MODULE : module_entry->name()->as_C_string();
5645 ik->print_class_load_logging(_loader_data, module_name, _stream);
5646 #if INCLUDE_JVMCI
5647 if (trace_loading_cause) {
5648 JavaThread::current()->print_stack_on(tty);
5649 }
5650 #endif
5651 }
5652
5653 if (ik->minor_version() == JAVA_PREVIEW_MINOR_VERSION &&
5654 ik->major_version() != JAVA_MIN_SUPPORTED_VERSION &&
5655 log_is_enabled(Info, class, preview)) {
5656 ResourceMark rm;
5657 log_info(class, preview)("Loading class %s that depends on preview features (class file version %d.65535)",
5658 ik->external_name(), ik->major_version());
5659 }
5660
5661 if (log_is_enabled(Debug, class, resolve)) {
5662 ResourceMark rm;
5663 // print out the superclass.
5664 const char * from = ik->external_name();
5665 if (ik->java_super() != NULL) {
5666 log_debug(class, resolve)("%s %s (super)",
5667 from,
5668 ik->java_super()->external_name());
5669 }
5670 // print out each of the interface classes referred to by this class.
|