< prev index next >

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

Print this page




3771     _process_symbols(process_symbols), _symbols_processed(0), _symbols_removed(0) {
3772 
3773     _initial_string_table_size = StringTable::the_table()->table_size();
3774     _initial_symbol_table_size = SymbolTable::the_table()->table_size();
3775     if (process_strings) {
3776       StringTable::clear_parallel_claimed_index();
3777     }
3778     if (process_symbols) {
3779       SymbolTable::clear_parallel_claimed_index();
3780     }
3781   }
3782 
3783   ~G1StringSymbolTableUnlinkTask() {
3784     guarantee(!_process_strings || StringTable::parallel_claimed_index() >= _initial_string_table_size,
3785               "claim value %d after unlink less than initial string table size %d",
3786               StringTable::parallel_claimed_index(), _initial_string_table_size);
3787     guarantee(!_process_symbols || SymbolTable::parallel_claimed_index() >= _initial_symbol_table_size,
3788               "claim value %d after unlink less than initial symbol table size %d",
3789               SymbolTable::parallel_claimed_index(), _initial_symbol_table_size);
3790 
3791     log_debug(gc, stringdedup)("Cleaned string and symbol table, "

3792                                "strings: " SIZE_FORMAT " processed, " SIZE_FORMAT " removed, "
3793                                "symbols: " SIZE_FORMAT " processed, " SIZE_FORMAT " removed",
3794                                strings_processed(), strings_removed(),
3795                                symbols_processed(), symbols_removed());
3796   }
3797 
3798   void work(uint worker_id) {
3799     int strings_processed = 0;
3800     int strings_removed = 0;
3801     int symbols_processed = 0;
3802     int symbols_removed = 0;
3803     if (_process_strings) {
3804       StringTable::possibly_parallel_unlink(_is_alive, &strings_processed, &strings_removed);
3805       Atomic::add(strings_processed, &_strings_processed);
3806       Atomic::add(strings_removed, &_strings_removed);
3807     }
3808     if (_process_symbols) {
3809       SymbolTable::possibly_parallel_unlink(&symbols_processed, &symbols_removed);
3810       Atomic::add(symbols_processed, &_symbols_processed);
3811       Atomic::add(symbols_removed, &_symbols_removed);




3771     _process_symbols(process_symbols), _symbols_processed(0), _symbols_removed(0) {
3772 
3773     _initial_string_table_size = StringTable::the_table()->table_size();
3774     _initial_symbol_table_size = SymbolTable::the_table()->table_size();
3775     if (process_strings) {
3776       StringTable::clear_parallel_claimed_index();
3777     }
3778     if (process_symbols) {
3779       SymbolTable::clear_parallel_claimed_index();
3780     }
3781   }
3782 
3783   ~G1StringSymbolTableUnlinkTask() {
3784     guarantee(!_process_strings || StringTable::parallel_claimed_index() >= _initial_string_table_size,
3785               "claim value %d after unlink less than initial string table size %d",
3786               StringTable::parallel_claimed_index(), _initial_string_table_size);
3787     guarantee(!_process_symbols || SymbolTable::parallel_claimed_index() >= _initial_symbol_table_size,
3788               "claim value %d after unlink less than initial symbol table size %d",
3789               SymbolTable::parallel_claimed_index(), _initial_symbol_table_size);
3790 
3791     log_info(gc, stringtable)(
3792         "Cleaned string and symbol table, "
3793         "strings: " SIZE_FORMAT " processed, " SIZE_FORMAT " removed, "
3794         "symbols: " SIZE_FORMAT " processed, " SIZE_FORMAT " removed",
3795         strings_processed(), strings_removed(),
3796         symbols_processed(), symbols_removed());
3797   }
3798 
3799   void work(uint worker_id) {
3800     int strings_processed = 0;
3801     int strings_removed = 0;
3802     int symbols_processed = 0;
3803     int symbols_removed = 0;
3804     if (_process_strings) {
3805       StringTable::possibly_parallel_unlink(_is_alive, &strings_processed, &strings_removed);
3806       Atomic::add(strings_processed, &_strings_processed);
3807       Atomic::add(strings_removed, &_strings_removed);
3808     }
3809     if (_process_symbols) {
3810       SymbolTable::possibly_parallel_unlink(&symbols_processed, &symbols_removed);
3811       Atomic::add(symbols_processed, &_symbols_processed);
3812       Atomic::add(symbols_removed, &_symbols_removed);


< prev index next >