500 // Define to dump klasses |
500 // Define to dump klasses |
501 #undef CLD_DUMP_KLASSES |
501 #undef CLD_DUMP_KLASSES |
502 |
502 |
503 void ClassLoaderData::dump(outputStream * const out) { |
503 void ClassLoaderData::dump(outputStream * const out) { |
504 ResourceMark rm; |
504 ResourceMark rm; |
505 out->print("ClassLoaderData CLD: "PTR_FORMAT", loader: "PTR_FORMAT", loader_klass: "PTR_FORMAT" %s {", |
505 out->print("ClassLoaderData CLD: " PTR_FORMAT ", loader: " PTR_FORMAT ", loader_klass: " PTR_FORMAT " %s {", |
506 p2i(this), p2i((void *)class_loader()), |
506 p2i(this), p2i((void *)class_loader()), |
507 p2i(class_loader() != NULL ? class_loader()->klass() : NULL), loader_name()); |
507 p2i(class_loader() != NULL ? class_loader()->klass() : NULL), loader_name()); |
508 if (claimed()) out->print(" claimed "); |
508 if (claimed()) out->print(" claimed "); |
509 if (is_unloading()) out->print(" unloading "); |
509 if (is_unloading()) out->print(" unloading "); |
510 out->cr(); |
510 out->cr(); |
518 #ifdef CLD_DUMP_KLASSES |
518 #ifdef CLD_DUMP_KLASSES |
519 if (Verbose) { |
519 if (Verbose) { |
520 ResourceMark rm; |
520 ResourceMark rm; |
521 Klass* k = _klasses; |
521 Klass* k = _klasses; |
522 while (k != NULL) { |
522 while (k != NULL) { |
523 out->print_cr("klass "PTR_FORMAT", %s, CT: %d, MUT: %d", k, k->name()->as_C_string(), |
523 out->print_cr("klass " PTR_FORMAT ", %s, CT: %d, MUT: %d", k, k->name()->as_C_string(), |
524 k->has_modified_oops(), k->has_accumulated_modified_oops()); |
524 k->has_modified_oops(), k->has_accumulated_modified_oops()); |
525 assert(k != k->next_link(), "no loops!"); |
525 assert(k != k->next_link(), "no loops!"); |
526 k = k->next_link(); |
526 k = k->next_link(); |
527 } |
527 } |
528 } |
528 } |