142 void print_klass_name(InstanceKlass* ik) {
143 _st->print("[%3d] " INTPTR_FORMAT " class: %s mirror: " INTPTR_FORMAT " ", _num++,
144 p2i(ik), ik->name()->as_C_string(), p2i(ik->java_mirror()));
145 ik->class_loader_data()->print_value_on(_st);
146 _st->cr();
147 }
148
149 void print_instance_klass(InstanceKlass* ik) {
150 ResourceMark rm;
151 if (_has_printed_methods) {
152 // We have printed some methods in the previous class.
153 // Print a new line to separate the two classes
154 _st->cr();
155 }
156 _has_printed_methods = false;
157 if (_always_print_class_name) {
158 print_klass_name(ik);
159 }
160
161 if (has_mode(_flags, ClassPrinter::PRINT_CLASS_DETAILS)) {
162 _st->print("InstanceKlass: ");
163 ik->print_on(_st);
164 oop mirror = ik->java_mirror();
165 if (mirror != nullptr) {
166 _st->print("\nJava mirror oop for %s: ", ik->name()->as_C_string());
167 mirror->print_on(_st);
168 }
169 }
170
171 if (has_mode(_flags, ClassPrinter::PRINT_METHOD_NAME)) {
172 bool print_codes = has_mode(_flags, ClassPrinter::PRINT_BYTECODE);
173 int len = ik->methods()->length();
174 int num_methods_printed = 0;
175
176 Method** sorted_methods = NEW_RESOURCE_ARRAY(Method*, len);
177 for (int index = 0; index < len; index++) {
178 sorted_methods[index] = ik->methods()->at(index);
179 }
180
181 qsort(sorted_methods, len, sizeof(Method*), compare_methods_alphabetically);
182
|
142 void print_klass_name(InstanceKlass* ik) {
143 _st->print("[%3d] " INTPTR_FORMAT " class: %s mirror: " INTPTR_FORMAT " ", _num++,
144 p2i(ik), ik->name()->as_C_string(), p2i(ik->java_mirror()));
145 ik->class_loader_data()->print_value_on(_st);
146 _st->cr();
147 }
148
149 void print_instance_klass(InstanceKlass* ik) {
150 ResourceMark rm;
151 if (_has_printed_methods) {
152 // We have printed some methods in the previous class.
153 // Print a new line to separate the two classes
154 _st->cr();
155 }
156 _has_printed_methods = false;
157 if (_always_print_class_name) {
158 print_klass_name(ik);
159 }
160
161 if (has_mode(_flags, ClassPrinter::PRINT_CLASS_DETAILS)) {
162 _st->print("InstanceKlass (kind=%d): ", ik->kind());
163 ik->print_on(_st);
164 oop mirror = ik->java_mirror();
165 if (mirror != nullptr) {
166 _st->print("\nJava mirror oop for %s: ", ik->name()->as_C_string());
167 mirror->print_on(_st);
168 }
169 }
170
171 if (has_mode(_flags, ClassPrinter::PRINT_METHOD_NAME)) {
172 bool print_codes = has_mode(_flags, ClassPrinter::PRINT_BYTECODE);
173 int len = ik->methods()->length();
174 int num_methods_printed = 0;
175
176 Method** sorted_methods = NEW_RESOURCE_ARRAY(Method*, len);
177 for (int index = 0; index < len; index++) {
178 sorted_methods[index] = ik->methods()->at(index);
179 }
180
181 qsort(sorted_methods, len, sizeof(Method*), compare_methods_alphabetically);
182
|