< prev index next >

src/share/vm/classfile/compactHashtable.cpp

Print this page




 154     tty->print_cr("Shared %s table stats -------- base: " PTR_FORMAT,
 155                   table_name, (intptr_t)base_address);
 156     tty->print_cr("Number of entries       : %9d", _num_entries);
 157     tty->print_cr("Total bytes used        : %9d", table_bytes);
 158     tty->print_cr("Average bytes per entry : %9.3f", avg_cost);
 159     tty->print_cr("Average bucket size     : %9.3f", summary.avg());
 160     tty->print_cr("Variance of bucket size : %9.3f", summary.variance());
 161     tty->print_cr("Std. dev. of bucket size: %9.3f", summary.sd());
 162     tty->print_cr("Empty buckets           : %9d", _num_empty_buckets);
 163     tty->print_cr("Value_Only buckets      : %9d", _num_value_only_buckets);
 164     tty->print_cr("Other buckets           : %9d", _num_other_buckets);
 165   }
 166 }
 167 
 168 /////////////////////////////////////////////////////////////
 169 //
 170 // Customization for dumping Symbol and String tables
 171 
 172 void CompactSymbolTableWriter::add(unsigned int hash, Symbol *symbol) {
 173   address base_address = address(MetaspaceShared::shared_rs()->base());
 174   uintx max_delta = uintx(MetaspaceShared::shared_rs()->size());
 175   assert(max_delta <= MAX_SHARED_DELTA, "range check");
 176 
 177   uintx deltax = address(symbol) - base_address;
 178   assert(deltax < max_delta, "range check");


 179   u4 delta = u4(deltax);
 180 
 181   CompactHashtableWriter::add(hash, delta);
 182 }
 183 
 184 void CompactStringTableWriter::add(unsigned int hash, oop string) {
 185   CompactHashtableWriter::add(hash, oopDesc::encode_heap_oop(string));
 186 }
 187 
 188 void CompactSymbolTableWriter::dump(CompactHashtable<Symbol*, char> *cht) {
 189   CompactHashtableWriter::dump(cht, "symbol");
 190 }
 191 
 192 void CompactStringTableWriter::dump(CompactHashtable<oop, char> *cht) {
 193   CompactHashtableWriter::dump(cht, "string");
 194 }
 195 
 196 /////////////////////////////////////////////////////////////
 197 //
 198 // The CompactHashtable implementation




 154     tty->print_cr("Shared %s table stats -------- base: " PTR_FORMAT,
 155                   table_name, (intptr_t)base_address);
 156     tty->print_cr("Number of entries       : %9d", _num_entries);
 157     tty->print_cr("Total bytes used        : %9d", table_bytes);
 158     tty->print_cr("Average bytes per entry : %9.3f", avg_cost);
 159     tty->print_cr("Average bucket size     : %9.3f", summary.avg());
 160     tty->print_cr("Variance of bucket size : %9.3f", summary.variance());
 161     tty->print_cr("Std. dev. of bucket size: %9.3f", summary.sd());
 162     tty->print_cr("Empty buckets           : %9d", _num_empty_buckets);
 163     tty->print_cr("Value_Only buckets      : %9d", _num_value_only_buckets);
 164     tty->print_cr("Other buckets           : %9d", _num_other_buckets);
 165   }
 166 }
 167 
 168 /////////////////////////////////////////////////////////////
 169 //
 170 // Customization for dumping Symbol and String tables
 171 
 172 void CompactSymbolTableWriter::add(unsigned int hash, Symbol *symbol) {
 173   address base_address = address(MetaspaceShared::shared_rs()->base());


 174 
 175   uintx deltax = address(symbol) - base_address;
 176   // The symbols are in RO space, which is smaler than MAX_SHARED_DELTA.
 177   // The assert below is just to be extra cautious.
 178   assert(deltax <= MAX_SHARED_DELTA, "the delta is too large to encode");
 179   u4 delta = u4(deltax);
 180 
 181   CompactHashtableWriter::add(hash, delta);
 182 }
 183 
 184 void CompactStringTableWriter::add(unsigned int hash, oop string) {
 185   CompactHashtableWriter::add(hash, oopDesc::encode_heap_oop(string));
 186 }
 187 
 188 void CompactSymbolTableWriter::dump(CompactHashtable<Symbol*, char> *cht) {
 189   CompactHashtableWriter::dump(cht, "symbol");
 190 }
 191 
 192 void CompactStringTableWriter::dump(CompactHashtable<oop, char> *cht) {
 193   CompactHashtableWriter::dump(cht, "string");
 194 }
 195 
 196 /////////////////////////////////////////////////////////////
 197 //
 198 // The CompactHashtable implementation


< prev index next >