< prev index next >

src/hotspot/share/classfile/classLoaderStats.cpp

Print this page




 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);
 136   _out->print_cr("ChunkSz: Total size of all allocated metaspace chunks");
 137   _out->print_cr("BlockSz: Total size of all allocated metaspace blocks (each chunk has several blocks)");
 138 }
 139 
 140 
 141 void ClassLoaderStatsClosure::addEmptyParents(oop cl) {
 142   while (cl != NULL && java_lang_ClassLoader::loader_data(cl) == NULL) {
 143     // This classloader has not loaded any classes
 144     ClassLoaderStats** cls_ptr = _stats->get(cl);
 145     if (cls_ptr == NULL) {
 146       // It does not exist in our table - add it
 147       ClassLoaderStats* cls = new ClassLoaderStats();
 148       cls->_class_loader = cl;
 149       cls->_parent = java_lang_ClassLoader::parent(cl);
 150       _stats->put(cl, cls);
 151       _total_loaders++;
 152     }
 153 
 154     cl = java_lang_ClassLoader::parent(cl);
 155   }
 156 }
 157 
 158 
 159 void ClassLoaderStatsVMOperation::doit() {
 160   ClassLoaderStatsClosure clsc (_out);
 161   ClassLoaderDataGraph::cld_do(&clsc);
 162   clsc.print();


 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);
 136   _out->print_cr("ChunkSz: Total size of all allocated metaspace chunks");
 137   _out->print_cr("BlockSz: Total size of all allocated metaspace blocks (each chunk has several blocks)");
 138 }
 139 
 140 
 141 void ClassLoaderStatsClosure::addEmptyParents(oop cl) {
 142   while (cl != NULL && java_lang_ClassLoader::loader_data_acquire(cl) == NULL) {
 143     // This classloader has not loaded any classes
 144     ClassLoaderStats** cls_ptr = _stats->get(cl);
 145     if (cls_ptr == NULL) {
 146       // It does not exist in our table - add it
 147       ClassLoaderStats* cls = new ClassLoaderStats();
 148       cls->_class_loader = cl;
 149       cls->_parent = java_lang_ClassLoader::parent(cl);
 150       _stats->put(cl, cls);
 151       _total_loaders++;
 152     }
 153 
 154     cl = java_lang_ClassLoader::parent(cl);
 155   }
 156 }
 157 
 158 
 159 void ClassLoaderStatsVMOperation::doit() {
 160   ClassLoaderStatsClosure clsc (_out);
 161   ClassLoaderDataGraph::cld_do(&clsc);
 162   clsc.print();
< prev index next >