40 #include "interpreter/oopMapCache.hpp" |
40 #include "interpreter/oopMapCache.hpp" |
41 #include "interpreter/rewriter.hpp" |
41 #include "interpreter/rewriter.hpp" |
42 #include "jvmtifiles/jvmti.h" |
42 #include "jvmtifiles/jvmti.h" |
43 #include "logging/log.hpp" |
43 #include "logging/log.hpp" |
44 #include "logging/logMessage.hpp" |
44 #include "logging/logMessage.hpp" |
|
45 #include "logging/logStream.hpp" |
45 #include "memory/heapInspection.hpp" |
46 #include "memory/heapInspection.hpp" |
46 #include "memory/iterator.inline.hpp" |
47 #include "memory/iterator.inline.hpp" |
47 #include "memory/metadataFactory.hpp" |
48 #include "memory/metadataFactory.hpp" |
48 #include "memory/metaspaceShared.hpp" |
49 #include "memory/metaspaceShared.hpp" |
49 #include "memory/oopFactory.hpp" |
50 #include "memory/oopFactory.hpp" |
1083 return; |
1084 return; |
1084 } |
1085 } |
1085 |
1086 |
1086 methodHandle h_method(THREAD, class_initializer()); |
1087 methodHandle h_method(THREAD, class_initializer()); |
1087 assert(!is_initialized(), "we cannot initialize twice"); |
1088 assert(!is_initialized(), "we cannot initialize twice"); |
1088 if (log_is_enabled(Info, class, init)) { |
1089 LogTarget(Info, class, init) lt; |
|
1090 if (lt.is_enabled()) { |
1089 ResourceMark rm; |
1091 ResourceMark rm; |
1090 outputStream* log = Log(class, init)::info_stream(); |
1092 LogStream ls(lt); |
1091 log->print("%d Initializing ", call_class_initializer_counter++); |
1093 ls.print("%d Initializing ", call_class_initializer_counter++); |
1092 name()->print_value_on(log); |
1094 name()->print_value_on(&ls); |
1093 log->print_cr("%s (" INTPTR_FORMAT ")", h_method() == NULL ? "(no method)" : "", p2i(this)); |
1095 ls.print_cr("%s (" INTPTR_FORMAT ")", h_method() == NULL ? "(no method)" : "", p2i(this)); |
1094 } |
1096 } |
1095 if (h_method() != NULL) { |
1097 if (h_method() != NULL) { |
1096 JavaCallArguments args; // No arguments |
1098 JavaCallArguments args; // No arguments |
1097 JavaValue result(T_VOID); |
1099 JavaValue result(T_VOID); |
1098 JavaCalls::call(&result, h_method, &args, CHECK); // Static call (no args) |
1100 JavaCalls::call(&result, h_method, &args, CHECK); // Static call (no args) |