5347 record_defined_class_dependencies(ik, CHECK); |
5347 record_defined_class_dependencies(ik, CHECK); |
5348 |
5348 |
5349 ClassLoadingService::notify_class_loaded(ik, false /* not shared class */); |
5349 ClassLoadingService::notify_class_loaded(ik, false /* not shared class */); |
5350 |
5350 |
5351 if (!is_internal()) { |
5351 if (!is_internal()) { |
5352 if (log_is_enabled(Info, classload)) { |
5352 if (log_is_enabled(Info, class, load)) { |
5353 ResourceMark rm; |
5353 ResourceMark rm; |
5354 const char* module_name = NULL; |
5354 const char* module_name = NULL; |
5355 static const size_t modules_image_name_len = strlen(MODULES_IMAGE_NAME); |
5355 static const size_t modules_image_name_len = strlen(MODULES_IMAGE_NAME); |
5356 size_t stream_len = strlen(_stream->source()); |
5356 size_t stream_len = strlen(_stream->source()); |
5357 // See if _stream->source() ends in "modules" |
5357 // See if _stream->source() ends in "modules" |
5359 (strncmp(_stream->source() + stream_len - modules_image_name_len, |
5359 (strncmp(_stream->source() + stream_len - modules_image_name_len, |
5360 MODULES_IMAGE_NAME, modules_image_name_len) == 0)) { |
5360 MODULES_IMAGE_NAME, modules_image_name_len) == 0)) { |
5361 module_name = module_entry->name()->as_C_string(); |
5361 module_name = module_entry->name()->as_C_string(); |
5362 } |
5362 } |
5363 |
5363 |
5364 if (log_is_enabled(Info, classload)) { |
5364 if (log_is_enabled(Info, class, load)) { |
5365 ik->print_loading_log(LogLevel::Info, _loader_data, module_name, _stream); |
5365 ik->print_loading_log(LogLevel::Info, _loader_data, module_name, _stream); |
5366 } |
5366 } |
5367 // No 'else' here as logging levels are not mutually exclusive |
5367 // No 'else' here as logging levels are not mutually exclusive |
5368 if (log_is_enabled(Debug, classload)) { |
5368 if (log_is_enabled(Debug, class, load)) { |
5369 ik->print_loading_log(LogLevel::Debug, _loader_data, module_name, _stream); |
5369 ik->print_loading_log(LogLevel::Debug, _loader_data, module_name, _stream); |
5370 } |
5370 } |
5371 } |
5371 } |
5372 |
5372 |
5373 if (log_is_enabled(Debug, classresolve)) { |
5373 if (log_is_enabled(Debug, class, resolve)) { |
5374 ResourceMark rm; |
5374 ResourceMark rm; |
5375 // print out the superclass. |
5375 // print out the superclass. |
5376 const char * from = ik->external_name(); |
5376 const char * from = ik->external_name(); |
5377 if (ik->java_super() != NULL) { |
5377 if (ik->java_super() != NULL) { |
5378 log_debug(classresolve)("%s %s (super)", |
5378 log_debug(class, resolve)("%s %s (super)", |
5379 from, |
5379 from, |
5380 ik->java_super()->external_name()); |
5380 ik->java_super()->external_name()); |
5381 } |
5381 } |
5382 // print out each of the interface classes referred to by this class. |
5382 // print out each of the interface classes referred to by this class. |
5383 const Array<Klass*>* const local_interfaces = ik->local_interfaces(); |
5383 const Array<Klass*>* const local_interfaces = ik->local_interfaces(); |
5384 if (local_interfaces != NULL) { |
5384 if (local_interfaces != NULL) { |
5385 const int length = local_interfaces->length(); |
5385 const int length = local_interfaces->length(); |
5386 for (int i = 0; i < length; i++) { |
5386 for (int i = 0; i < length; i++) { |
5387 const Klass* const k = local_interfaces->at(i); |
5387 const Klass* const k = local_interfaces->at(i); |
5388 const char * to = k->external_name(); |
5388 const char * to = k->external_name(); |
5389 log_debug(classresolve)("%s %s (interface)", from, to); |
5389 log_debug(class, resolve)("%s %s (interface)", from, to); |
5390 } |
5390 } |
5391 } |
5391 } |
5392 } |
5392 } |
5393 } |
5393 } |
5394 |
5394 |
5694 ); |
5694 ); |
5695 return; |
5695 return; |
5696 } |
5696 } |
5697 |
5697 |
5698 if (!is_internal()) { |
5698 if (!is_internal()) { |
5699 if (log_is_enabled(Debug, classload, preorder)){ |
5699 if (log_is_enabled(Debug, class, preorder)){ |
5700 ResourceMark rm(THREAD); |
5700 ResourceMark rm(THREAD); |
5701 outputStream* log = Log(classload, preorder)::debug_stream(); |
5701 outputStream* log = Log(class, preorder)::debug_stream(); |
5702 log->print("%s", _class_name->as_klass_external_name()); |
5702 log->print("%s", _class_name->as_klass_external_name()); |
5703 if (stream->source() != NULL) { |
5703 if (stream->source() != NULL) { |
5704 log->print(" source: %s", stream->source()); |
5704 log->print(" source: %s", stream->source()); |
5705 } |
5705 } |
5706 log->cr(); |
5706 log->cr(); |