< 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 >