< prev index next >

src/hotspot/share/classfile/classLoaderStats.cpp

Print this page




  85     } else {
  86       cls->_chunk_sz = ms->allocated_chunks_bytes();
  87       cls->_block_sz = ms->allocated_blocks_bytes();
  88     }
  89     _total_chunk_sz += ms->allocated_chunks_bytes();
  90     _total_block_sz += ms->allocated_blocks_bytes();
  91   }
  92 }
  93 
  94 
  95 // Handles the difference in pointer width on 32 and 64 bit platforms
  96 #ifdef _LP64
  97   #define SPACE "%8s"
  98 #else
  99   #define SPACE "%s"
 100 #endif
 101 
 102 
 103 bool ClassLoaderStatsClosure::do_entry(oop const& key, ClassLoaderStats* const& cls) {
 104   Klass* class_loader_klass = (cls->_class_loader == NULL ? NULL : cls->_class_loader->klass());

 105   Klass* parent_klass = (cls->_parent == NULL ? NULL : cls->_parent->klass());
 106 
 107   _out->print(INTPTR_FORMAT "  " INTPTR_FORMAT "  " INTPTR_FORMAT "  " UINTX_FORMAT_W(6) "  " SIZE_FORMAT_W(8) "  " SIZE_FORMAT_W(8) "  ",
 108       p2i(class_loader_klass), p2i(parent_klass), p2i(cls->_cld),
 109       cls->_classes_count,
 110       cls->_chunk_sz, cls->_block_sz);
 111   if (class_loader_klass != NULL) {
 112     _out->print("%s", class_loader_klass->external_name());
 113   } else {
 114     _out->print("<boot class loader>");
 115   }
 116   _out->cr();
 117   if (cls->_anon_classes_count > 0) {
 118     _out->print_cr(SPACE SPACE SPACE "                                    " UINTX_FORMAT_W(6) "  " SIZE_FORMAT_W(8) "  " SIZE_FORMAT_W(8) "   + unsafe anonymous classes",
 119         "", "", "",
 120         cls->_anon_classes_count,
 121         cls->_anon_chunk_sz, cls->_anon_block_sz);
 122   }
 123   return true;
 124 }
 125 
 126 
 127 void ClassLoaderStatsClosure::print() {
 128   _out->print_cr("ClassLoader" SPACE " Parent" SPACE "      CLD*" SPACE "       Classes   ChunkSz   BlockSz  Type", "", "", "");
 129   _stats->iterate(this);
 130   _out->print("Total = " UINTX_FORMAT_W(-6), _total_loaders);
 131   _out->print(SPACE SPACE SPACE "                      ", "", "", "");
 132   _out->print_cr(UINTX_FORMAT_W(6) "  " SIZE_FORMAT_W(8) "  " SIZE_FORMAT_W(8) "  ",
 133       _total_classes,
 134       _total_chunk_sz,
 135       _total_block_sz);




  85     } else {
  86       cls->_chunk_sz = ms->allocated_chunks_bytes();
  87       cls->_block_sz = ms->allocated_blocks_bytes();
  88     }
  89     _total_chunk_sz += ms->allocated_chunks_bytes();
  90     _total_block_sz += ms->allocated_blocks_bytes();
  91   }
  92 }
  93 
  94 
  95 // Handles the difference in pointer width on 32 and 64 bit platforms
  96 #ifdef _LP64
  97   #define SPACE "%8s"
  98 #else
  99   #define SPACE "%s"
 100 #endif
 101 
 102 
 103 bool ClassLoaderStatsClosure::do_entry(oop const& key, ClassLoaderStats* const& cls) {
 104   Klass* class_loader_klass = (cls->_class_loader == NULL ? NULL : cls->_class_loader->klass());
 105   ClassLoaderData* class_loader_data = (cls->_cld == NULL ? ClassLoaderData::the_null_class_loader_data() : cls->_cld);
 106   Klass* parent_klass = (cls->_parent == NULL ? NULL : cls->_parent->klass());
 107 
 108   _out->print(INTPTR_FORMAT "  " INTPTR_FORMAT "  " INTPTR_FORMAT "  " UINTX_FORMAT_W(6) "  " SIZE_FORMAT_W(8) "  " SIZE_FORMAT_W(8) "  ",
 109       p2i(class_loader_klass), p2i(parent_klass), p2i(cls->_cld),
 110       cls->_classes_count,
 111       cls->_chunk_sz, cls->_block_sz);
 112   _out->print("%s", class_loader_data->loader_name_and_id());




 113   _out->cr();
 114   if (cls->_anon_classes_count > 0) {
 115     _out->print_cr(SPACE SPACE SPACE "                                    " UINTX_FORMAT_W(6) "  " SIZE_FORMAT_W(8) "  " SIZE_FORMAT_W(8) "   + unsafe anonymous classes",
 116         "", "", "",
 117         cls->_anon_classes_count,
 118         cls->_anon_chunk_sz, cls->_anon_block_sz);
 119   }
 120   return true;
 121 }
 122 
 123 
 124 void ClassLoaderStatsClosure::print() {
 125   _out->print_cr("ClassLoader" SPACE " Parent" SPACE "      CLD*" SPACE "       Classes   ChunkSz   BlockSz  Type", "", "", "");
 126   _stats->iterate(this);
 127   _out->print("Total = " UINTX_FORMAT_W(-6), _total_loaders);
 128   _out->print(SPACE SPACE SPACE "                      ", "", "", "");
 129   _out->print_cr(UINTX_FORMAT_W(6) "  " SIZE_FORMAT_W(8) "  " SIZE_FORMAT_W(8) "  ",
 130       _total_classes,
 131       _total_chunk_sz,
 132       _total_block_sz);


< prev index next >