klass is_unloading no cache
452
453 parent_info->add_child(info);
454 }
455 return info;
456 }
457
458
459 public:
460 LoaderInfoScanClosure(bool print_classes, bool verbose)
461 : _print_classes(print_classes), _verbose(verbose), _root(NULL) {
462 _root = new LoaderTreeNode(NULL);
463 }
464
465 void print_results(outputStream* st) const {
466 _root->print_with_childs(st, _print_classes, _verbose);
467 }
468
469 void do_cld (ClassLoaderData* cld) {
470
471 // We do not display unloading loaders, for now.
472 if (cld->is_unloading()) {
473 return;
474 }
475
476 const oop loader_oop = cld->class_loader();
477
478 LoaderTreeNode* info = find_node_or_add_empty_node(loader_oop);
479 assert(info != NULL, "must be");
480
481 // Update CLD in node, but only if this is the primary CLD for this loader.
482 if (cld->is_unsafe_anonymous() == false) {
483 assert(info->cld() == NULL, "there should be only one primary CLD per loader");
484 info->set_cld(cld);
485 }
486
487 // Add classes.
488 fill_in_classes(info, cld);
489 }
490
491 void fold() {
|
452
453 parent_info->add_child(info);
454 }
455 return info;
456 }
457
458
459 public:
460 LoaderInfoScanClosure(bool print_classes, bool verbose)
461 : _print_classes(print_classes), _verbose(verbose), _root(NULL) {
462 _root = new LoaderTreeNode(NULL);
463 }
464
465 void print_results(outputStream* st) const {
466 _root->print_with_childs(st, _print_classes, _verbose);
467 }
468
469 void do_cld (ClassLoaderData* cld) {
470
471 // We do not display unloading loaders, for now.
472 if (!cld->is_alive()) {
473 return;
474 }
475
476 const oop loader_oop = cld->class_loader();
477
478 LoaderTreeNode* info = find_node_or_add_empty_node(loader_oop);
479 assert(info != NULL, "must be");
480
481 // Update CLD in node, but only if this is the primary CLD for this loader.
482 if (cld->is_unsafe_anonymous() == false) {
483 assert(info->cld() == NULL, "there should be only one primary CLD per loader");
484 info->set_cld(cld);
485 }
486
487 // Add classes.
488 fill_in_classes(info, cld);
489 }
490
491 void fold() {
|