comparison src/share/vm/classfile/symbolTable.cpp @ 2336:df1347358fe6

7024584: Symbol printouts shouldnt be under PrintGCDetails Summary: Put symbol printing under Verbose and WizardMode so you can get this information if you really want it. Reviewed-by: phh, stefank, never, dholmes, jcoomes
author coleenp
date Mon, 07 Mar 2011 16:03:28 -0500
parents 3582bf76420e
children b099aaf51bf8
comparison
equal deleted inserted replaced
2335:0cd0a06d2535 2336:df1347358fe6
86 // This is done late during GC. This doesn't use the hash table unlink because 86 // This is done late during GC. This doesn't use the hash table unlink because
87 // it assumes that the literals are oops. 87 // it assumes that the literals are oops.
88 void SymbolTable::unlink() { 88 void SymbolTable::unlink() {
89 int removed = 0; 89 int removed = 0;
90 int total = 0; 90 int total = 0;
91 int memory_total = 0; 91 size_t memory_total = 0;
92 for (int i = 0; i < the_table()->table_size(); ++i) { 92 for (int i = 0; i < the_table()->table_size(); ++i) {
93 for (HashtableEntry<Symbol*>** p = the_table()->bucket_addr(i); *p != NULL; ) { 93 for (HashtableEntry<Symbol*>** p = the_table()->bucket_addr(i); *p != NULL; ) {
94 HashtableEntry<Symbol*>* entry = *p; 94 HashtableEntry<Symbol*>* entry = *p;
95 if (entry->is_shared()) { 95 if (entry->is_shared()) {
96 break; 96 break;
110 } 110 }
111 } 111 }
112 } 112 }
113 symbols_removed += removed; 113 symbols_removed += removed;
114 symbols_counted += total; 114 symbols_counted += total;
115 if (PrintGCDetails) { 115 // Exclude printing for normal PrintGCDetails because people parse
116 gclog_or_tty->print(" [Symbols=%d size=%dK] ", total, 116 // this output.
117 if (PrintGCDetails && Verbose && WizardMode) {
118 gclog_or_tty->print(" [Symbols=%d size=" SIZE_FORMAT "K] ", total,
117 (memory_total*HeapWordSize)/1024); 119 (memory_total*HeapWordSize)/1024);
118 } 120 }
119 } 121 }
120 122
121 123