5356 // No 'else' here as logging levels are not mutually exclusive |
5356 // No 'else' here as logging levels are not mutually exclusive |
5357 if (log_is_enabled(Debug, classload)) { |
5357 if (log_is_enabled(Debug, classload)) { |
5358 ik->print_loading_log(LogLevel::Debug, _loader_data, _stream); |
5358 ik->print_loading_log(LogLevel::Debug, _loader_data, _stream); |
5359 } |
5359 } |
5360 |
5360 |
5361 if (log_is_enabled(Info, classresolve)) { |
5361 if (log_is_enabled(Debug, classresolve)) { |
5362 ResourceMark rm; |
5362 ResourceMark rm; |
5363 // print out the superclass. |
5363 // print out the superclass. |
5364 const char * from = ik->external_name(); |
5364 const char * from = ik->external_name(); |
5365 if (ik->java_super() != NULL) { |
5365 if (ik->java_super() != NULL) { |
5366 log_info(classresolve)("%s %s (super)", |
5366 log_debug(classresolve)("%s %s (super)", |
5367 from, |
5367 from, |
5368 ik->java_super()->external_name()); |
5368 ik->java_super()->external_name()); |
5369 } |
5369 } |
5370 // print out each of the interface classes referred to by this class. |
5370 // print out each of the interface classes referred to by this class. |
5371 const Array<Klass*>* const local_interfaces = ik->local_interfaces(); |
5371 const Array<Klass*>* const local_interfaces = ik->local_interfaces(); |
5372 if (local_interfaces != NULL) { |
5372 if (local_interfaces != NULL) { |
5373 const int length = local_interfaces->length(); |
5373 const int length = local_interfaces->length(); |
5374 for (int i = 0; i < length; i++) { |
5374 for (int i = 0; i < length; i++) { |
5375 const Klass* const k = local_interfaces->at(i); |
5375 const Klass* const k = local_interfaces->at(i); |
5376 const char * to = k->external_name(); |
5376 const char * to = k->external_name(); |
5377 log_info(classresolve)("%s %s (interface)", from, to); |
5377 log_debug(classresolve)("%s %s (interface)", from, to); |
5378 } |
5378 } |
5379 } |
5379 } |
5380 } |
5380 } |
5381 } |
5381 } |
5382 |
5382 |
5682 ); |
5682 ); |
5683 return; |
5683 return; |
5684 } |
5684 } |
5685 |
5685 |
5686 if (!is_internal()) { |
5686 if (!is_internal()) { |
5687 if (TraceClassLoadingPreorder) { |
5687 if (log_is_enabled(Debug, classload, preorder)){ |
5688 tty->print("[Loading %s", |
5688 ResourceMark rm(THREAD); |
5689 _class_name->as_klass_external_name()); |
5689 outputStream* log = LogHandle(classload, preorder)::debug_stream(); |
5690 |
5690 log->print("%s", _class_name->as_klass_external_name()); |
5691 if (stream->source() != NULL) { |
5691 if (stream->source() != NULL) { |
5692 tty->print(" from %s", stream->source()); |
5692 log->print(" source: %s", stream->source()); |
5693 } |
5693 } |
5694 tty->print_cr("]"); |
5694 log->cr(); |
5695 } |
5695 } |
|
5696 |
5696 #if INCLUDE_CDS |
5697 #if INCLUDE_CDS |
5697 if (DumpLoadedClassList != NULL && stream->source() != NULL && classlist_file->is_open()) { |
5698 if (DumpLoadedClassList != NULL && stream->source() != NULL && classlist_file->is_open()) { |
5698 // Only dump the classes that can be stored into CDS archive |
5699 // Only dump the classes that can be stored into CDS archive |
5699 if (SystemDictionaryShared::is_sharing_possible(_loader_data)) { |
5700 if (SystemDictionaryShared::is_sharing_possible(_loader_data)) { |
5700 ResourceMark rm(THREAD); |
5701 ResourceMark rm(THREAD); |