--- a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Thu Jan 27 13:42:28 2011 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Thu Jan 27 16:11:27 2011 -0800
@@ -172,9 +172,10 @@
assert(GenMarkSweep::_marking_stack.is_empty(), "just drained");
- // Visit symbol and interned string tables and delete unmarked oops
- SymbolTable::unlink(&GenMarkSweep::is_alive);
+ // Visit interned string tables and delete unmarked oops
StringTable::unlink(&GenMarkSweep::is_alive);
+ // Clean up unreferenced symbols in symbol table.
+ SymbolTable::unlink();
assert(GenMarkSweep::_marking_stack.is_empty(),
"stack should be empty by now");