69 // And add it to the running totals
70 _stats_total.add(this_cld_stat);
71 _num_loaders ++;
72 _stats_by_spacetype[msp->space_type()].add(this_cld_stat);
73 _num_loaders_by_spacetype[msp->space_type()] ++;
74
75 // Optionally, print.
76 if (_do_print) {
77
78 _out->print(UINTX_FORMAT_W(4) ": ", _num_loaders);
79
80 // Print "CLD for [<loader name>,] instance of <loader class name>"
81 // or "CLD for <anonymous class>, loaded by [<loader name>,] instance of <loader class name>"
82
83 ResourceMark rm;
84 const char* name = NULL;
85 const char* class_name = NULL;
86
87 // Note: this should also work if unloading:
88 Klass* k = cld->class_loader_klass();
89 if (k != NULL) {
90 class_name = k->external_name();
91 Symbol* s = cld->class_loader_name();
92 if (s != NULL) {
93 name = s->as_C_string();
94 }
95 } else {
96 name = "<bootstrap>";
97 }
98
99 // Print
100 _out->print("CLD " PTR_FORMAT, p2i(cld));
101 if (cld->is_unloading()) {
102 _out->print(" (unloading)");
103 }
104 _out->print(":");
105 if (cld->is_anonymous()) {
106 _out->print(" <anonymous class>, loaded by");
107 }
108 if (name != NULL) {
109 _out->print(" \"%s\"", name);
110 }
111 if (class_name != NULL) {
112 _out->print(" instance of %s", class_name);
113 }
114
115 if (_do_print_classes) {
116 streamIndentor sti(_out, 6);
|
69 // And add it to the running totals
70 _stats_total.add(this_cld_stat);
71 _num_loaders ++;
72 _stats_by_spacetype[msp->space_type()].add(this_cld_stat);
73 _num_loaders_by_spacetype[msp->space_type()] ++;
74
75 // Optionally, print.
76 if (_do_print) {
77
78 _out->print(UINTX_FORMAT_W(4) ": ", _num_loaders);
79
80 // Print "CLD for [<loader name>,] instance of <loader class name>"
81 // or "CLD for <anonymous class>, loaded by [<loader name>,] instance of <loader class name>"
82
83 ResourceMark rm;
84 const char* name = NULL;
85 const char* class_name = NULL;
86
87 // Note: this should also work if unloading:
88 Klass* k = cld->class_loader_klass();
89 name = cld->loader_name();
90 if (k != NULL) {
91 class_name = k->external_name();
92 }
93
94 // Print
95 _out->print("CLD " PTR_FORMAT, p2i(cld));
96 if (cld->is_unloading()) {
97 _out->print(" (unloading)");
98 }
99 _out->print(":");
100 if (cld->is_anonymous()) {
101 _out->print(" <anonymous class>, loaded by");
102 }
103 if (name != NULL) {
104 _out->print(" \"%s\"", name);
105 }
106 if (class_name != NULL) {
107 _out->print(" instance of %s", class_name);
108 }
109
110 if (_do_print_classes) {
111 streamIndentor sti(_out, 6);
|