< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
rev 50505 : imported patch 8204613-stringtable-unclean-fix
*** 3247,3256 ****
--- 3247,3259 ----
_initial_string_table_size = (int) StringTable::the_table()->table_size();
_initial_symbol_table_size = SymbolTable::the_table()->table_size();
if (process_symbols) {
SymbolTable::clear_parallel_claimed_index();
}
+ if (process_strings) {
+ StringTable::reset_dead_counter();
+ }
}
~G1StringAndSymbolCleaningTask() {
guarantee(!_process_symbols || SymbolTable::parallel_claimed_index() >= _initial_symbol_table_size,
"claim value %d after unlink less than initial symbol table size %d",
*** 3260,3269 ****
--- 3263,3275 ----
"Cleaned string and symbol table, "
"strings: " SIZE_FORMAT " processed, " SIZE_FORMAT " removed, "
"symbols: " SIZE_FORMAT " processed, " SIZE_FORMAT " removed",
strings_processed(), strings_removed(),
symbols_processed(), symbols_removed());
+ if (_process_strings) {
+ StringTable::finish_dead_counter();
+ }
}
void work(uint worker_id) {
int strings_processed = 0;
int strings_removed = 0;
< prev index next >