src/hotspot/share/classfile/classFileParser.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File open Sdiff src/hotspot/share/classfile

src/hotspot/share/classfile/classFileParser.cpp

Print this page




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.


src/hotspot/share/classfile/classFileParser.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File