425 cld->dictionary()->classes_do(f, CHECK);
426 }
427 }
428
429 void ClassLoaderDataGraph::verify_dictionary() {
430 FOR_ALL_DICTIONARY(cld) {
431 cld->dictionary()->verify();
432 }
433 }
434
435 void ClassLoaderDataGraph::print_dictionary(outputStream* st) {
436 FOR_ALL_DICTIONARY(cld) {
437 st->print("Dictionary for ");
438 cld->print_value_on(st);
439 st->cr();
440 cld->dictionary()->print_on(st);
441 st->cr();
442 }
443 }
444
445 void ClassLoaderDataGraph::print_dictionary_statistics(outputStream* st) {
446 FOR_ALL_DICTIONARY(cld) {
447 ResourceMark rm;
448 stringStream tempst;
449 tempst.print("System Dictionary for %s class loader", cld->loader_name_and_id());
450 cld->dictionary()->print_table_statistics(st, tempst.as_string());
451 }
452 }
453
454 GrowableArray<ClassLoaderData*>* ClassLoaderDataGraph::new_clds() {
455 assert_locked_or_safepoint(ClassLoaderDataGraph_lock);
456 assert(_head == NULL || _saved_head != NULL, "remember_new_clds(true) not called?");
457
458 GrowableArray<ClassLoaderData*>* array = new GrowableArray<ClassLoaderData*>();
459
460 // The CLDs in [_head, _saved_head] were all added during last call to remember_new_clds(true);
461 ClassLoaderData* curr = _head;
462 while (curr != _saved_head) {
463 if (!curr->claimed()) {
464 array->push(curr);
465 LogTarget(Debug, class, loader, data) lt;
|
425 cld->dictionary()->classes_do(f, CHECK);
426 }
427 }
428
429 void ClassLoaderDataGraph::verify_dictionary() {
430 FOR_ALL_DICTIONARY(cld) {
431 cld->dictionary()->verify();
432 }
433 }
434
435 void ClassLoaderDataGraph::print_dictionary(outputStream* st) {
436 FOR_ALL_DICTIONARY(cld) {
437 st->print("Dictionary for ");
438 cld->print_value_on(st);
439 st->cr();
440 cld->dictionary()->print_on(st);
441 st->cr();
442 }
443 }
444
445 void ClassLoaderDataGraph::print_table_statistics(outputStream* st) {
446 FOR_ALL_DICTIONARY(cld) {
447 ResourceMark rm;
448 stringStream tempst;
449 tempst.print("System Dictionary for %s class loader", cld->loader_name_and_id());
450 cld->dictionary()->print_table_statistics(st, tempst.as_string());
451 }
452 }
453
454 GrowableArray<ClassLoaderData*>* ClassLoaderDataGraph::new_clds() {
455 assert_locked_or_safepoint(ClassLoaderDataGraph_lock);
456 assert(_head == NULL || _saved_head != NULL, "remember_new_clds(true) not called?");
457
458 GrowableArray<ClassLoaderData*>* array = new GrowableArray<ClassLoaderData*>();
459
460 // The CLDs in [_head, _saved_head] were all added during last call to remember_new_clds(true);
461 ClassLoaderData* curr = _head;
462 while (curr != _saved_head) {
463 if (!curr->claimed()) {
464 array->push(curr);
465 LogTarget(Debug, class, loader, data) lt;
|