< prev index next >

src/share/vm/gc/g1/g1StringDedupTable.cpp

Print this page




 539       G1StringDedupEntry** entry2 = (*entry1)->next_addr();
 540       while (*entry2 != NULL) {
 541         typeArrayOop value2 = (*entry2)->obj();
 542         guarantee(!equals(value1, value2), "Table entries must not have identical arrays");
 543         entry2 = (*entry2)->next_addr();
 544       }
 545       entry1 = (*entry1)->next_addr();
 546     }
 547   }
 548 }
 549 
 550 void G1StringDedupTable::trim_entry_cache() {
 551   MutexLockerEx ml(StringDedupTable_lock, Mutex::_no_safepoint_check_flag);
 552   size_t max_cache_size = (size_t)(_table->_size * _max_cache_factor);
 553   _entry_cache->trim(max_cache_size);
 554 }
 555 
 556 void G1StringDedupTable::print_statistics(outputStream* st) {
 557   st->print_cr(
 558     "   [Table]\n"
 559     "      [Memory Usage: "G1_STRDEDUP_BYTES_FORMAT_NS"]\n"
 560     "      [Size: "SIZE_FORMAT", Min: "SIZE_FORMAT", Max: "SIZE_FORMAT"]\n"
 561     "      [Entries: "UINTX_FORMAT", Load: "G1_STRDEDUP_PERCENT_FORMAT_NS", Cached: " UINTX_FORMAT ", Added: "UINTX_FORMAT", Removed: "UINTX_FORMAT"]\n"
 562     "      [Resize Count: "UINTX_FORMAT", Shrink Threshold: "UINTX_FORMAT"("G1_STRDEDUP_PERCENT_FORMAT_NS"), Grow Threshold: "UINTX_FORMAT"("G1_STRDEDUP_PERCENT_FORMAT_NS")]\n"
 563     "      [Rehash Count: "UINTX_FORMAT", Rehash Threshold: "UINTX_FORMAT", Hash Seed: 0x%x]\n"
 564     "      [Age Threshold: "UINTX_FORMAT"]",
 565     G1_STRDEDUP_BYTES_PARAM(_table->_size * sizeof(G1StringDedupEntry*) + (_table->_entries + _entry_cache->size()) * sizeof(G1StringDedupEntry)),
 566     _table->_size, _min_size, _max_size,
 567     _table->_entries, (double)_table->_entries / (double)_table->_size * 100.0, _entry_cache->size(), _entries_added, _entries_removed,
 568     _resize_count, _table->_shrink_threshold, _shrink_load_factor * 100.0, _table->_grow_threshold, _grow_load_factor * 100.0,
 569     _rehash_count, _rehash_threshold, _table->_hash_seed,
 570     StringDeduplicationAgeThreshold);
 571 }


 539       G1StringDedupEntry** entry2 = (*entry1)->next_addr();
 540       while (*entry2 != NULL) {
 541         typeArrayOop value2 = (*entry2)->obj();
 542         guarantee(!equals(value1, value2), "Table entries must not have identical arrays");
 543         entry2 = (*entry2)->next_addr();
 544       }
 545       entry1 = (*entry1)->next_addr();
 546     }
 547   }
 548 }
 549 
 550 void G1StringDedupTable::trim_entry_cache() {
 551   MutexLockerEx ml(StringDedupTable_lock, Mutex::_no_safepoint_check_flag);
 552   size_t max_cache_size = (size_t)(_table->_size * _max_cache_factor);
 553   _entry_cache->trim(max_cache_size);
 554 }
 555 
 556 void G1StringDedupTable::print_statistics(outputStream* st) {
 557   st->print_cr(
 558     "   [Table]\n"
 559     "      [Memory Usage: " G1_STRDEDUP_BYTES_FORMAT_NS "]\n"
 560     "      [Size: " SIZE_FORMAT ", Min: " SIZE_FORMAT ", Max: " SIZE_FORMAT "]\n"
 561     "      [Entries: " UINTX_FORMAT ", Load: " G1_STRDEDUP_PERCENT_FORMAT_NS ", Cached: " UINTX_FORMAT ", Added: " UINTX_FORMAT ", Removed: " UINTX_FORMAT "]\n"
 562     "      [Resize Count: " UINTX_FORMAT ", Shrink Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS "), Grow Threshold: " UINTX_FORMAT "(" G1_STRDEDUP_PERCENT_FORMAT_NS ")]\n"
 563     "      [Rehash Count: " UINTX_FORMAT ", Rehash Threshold: " UINTX_FORMAT ", Hash Seed: 0x%x]\n"
 564     "      [Age Threshold: " UINTX_FORMAT "]",
 565     G1_STRDEDUP_BYTES_PARAM(_table->_size * sizeof(G1StringDedupEntry*) + (_table->_entries + _entry_cache->size()) * sizeof(G1StringDedupEntry)),
 566     _table->_size, _min_size, _max_size,
 567     _table->_entries, (double)_table->_entries / (double)_table->_size * 100.0, _entry_cache->size(), _entries_added, _entries_removed,
 568     _resize_count, _table->_shrink_threshold, _shrink_load_factor * 100.0, _table->_grow_threshold, _grow_load_factor * 100.0,
 569     _rehash_count, _rehash_threshold, _table->_hash_seed,
 570     StringDeduplicationAgeThreshold);
 571 }
< prev index next >