1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Mon May 27 12:56:34 2013 +0200 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Mon May 27 12:58:42 2013 +0200 1.3 @@ -450,11 +450,9 @@ 1.4 reference_processor()->enqueue_discovered_references(NULL); 1.5 } 1.6 1.7 - // Unlink any dead interned Strings 1.8 - StringTable::unlink(&_is_alive_closure); 1.9 - // Process the remaining live ones 1.10 - PSScavengeRootsClosure root_closure(promotion_manager); 1.11 - StringTable::oops_do(&root_closure); 1.12 + // Unlink any dead interned Strings and process the remaining live ones. 1.13 + PSScavengeRootsClosure root_closure(promotion_manager); 1.14 + StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure); 1.15 1.16 // Finally, flush the promotion_manager's labs, and deallocate its stacks. 1.17 PSPromotionManager::post_scavenge();