< prev index next >

src/hotspot/share/classfile/classLoaderStats.cpp

Print this page




 142 void ClassLoaderStatsClosure::addEmptyParents(oop cl) {
 143   while (cl != NULL && java_lang_ClassLoader::loader_data_acquire(cl) == NULL) {
 144     // This classloader has not loaded any classes
 145     ClassLoaderStats** cls_ptr = _stats->get(cl);
 146     if (cls_ptr == NULL) {
 147       // It does not exist in our table - add it
 148       ClassLoaderStats* cls = new ClassLoaderStats();
 149       cls->_class_loader = cl;
 150       cls->_parent = java_lang_ClassLoader::parent(cl);
 151       _stats->put(cl, cls);
 152       _total_loaders++;
 153     }
 154 
 155     cl = java_lang_ClassLoader::parent(cl);
 156   }
 157 }
 158 
 159 
 160 void ClassLoaderStatsVMOperation::doit() {
 161   ClassLoaderStatsClosure clsc (_out);
 162   ClassLoaderDataGraph::cld_do(&clsc);
 163   clsc.print();
 164 }
 165 
 166 
 167 void ClassLoaderStatsDCmd::execute(DCmdSource source, TRAPS) {
 168   ClassLoaderStatsVMOperation op(output());
 169   VMThread::execute(&op);
 170 }


 142 void ClassLoaderStatsClosure::addEmptyParents(oop cl) {
 143   while (cl != NULL && java_lang_ClassLoader::loader_data_acquire(cl) == NULL) {
 144     // This classloader has not loaded any classes
 145     ClassLoaderStats** cls_ptr = _stats->get(cl);
 146     if (cls_ptr == NULL) {
 147       // It does not exist in our table - add it
 148       ClassLoaderStats* cls = new ClassLoaderStats();
 149       cls->_class_loader = cl;
 150       cls->_parent = java_lang_ClassLoader::parent(cl);
 151       _stats->put(cl, cls);
 152       _total_loaders++;
 153     }
 154 
 155     cl = java_lang_ClassLoader::parent(cl);
 156   }
 157 }
 158 
 159 
 160 void ClassLoaderStatsVMOperation::doit() {
 161   ClassLoaderStatsClosure clsc (_out);
 162   ClassLoaderDataGraph::loaded_cld_do(&clsc);
 163   clsc.print();
 164 }
 165 
 166 
 167 void ClassLoaderStatsDCmd::execute(DCmdSource source, TRAPS) {
 168   ClassLoaderStatsVMOperation op(output());
 169   VMThread::execute(&op);
 170 }
< prev index next >